From 5cc40452e260550c709928d0679f6e713448ffe7 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期三, 01 十一月 2023 16:50:54 +0800
Subject: [PATCH] 库存编码规则 拣料更改料箱拣料
---
src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java | 30 +
src/main/java/com/zy/asrs/service/LocDetlService.java | 2
src/main/java/com/zy/asrs/service/LocRuleService.java | 2
src/main/webapp/views/mat/mat.html | 16
src/main/webapp/views/saasRule/locRule.html | 6
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 4
src/main/java/com/zy/common/entity/LocRuleExcel.java | 10
src/main/java/com/zy/asrs/controller/MobileController.java | 82 +++++
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2
src/main/java/com/zy/common/web/WcsController.java | 8
src/main/webapp/views/locRule/locRule.html | 10
src/main/java/com/zy/common/service/AgvCommonService.java | 41 ++
src/main/webapp/static/js/locRule/locRule.js | 4
src/main/java/com/zy/asrs/controller/LocRuleController.java | 52 +++
src/main/webapp/static/js/locRule/locCodeRule.js | 334 ++++++++++++++++++++++
src/main/java/com/zy/asrs/utils/LocRuleExcelListener.java | 37 ++
src/main/java/com/zy/asrs/entity/param/ModifyPakoutParam.java | 20 +
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 54 ++-
src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java | 5
src/main/java/com/zy/asrs/entity/LocRule.java | 33 +
src/main/java/com/zy/asrs/service/NodeService.java | 2
src/main/java/com/zy/common/service/CommonService.java | 53 +++
src/main/java/com/zy/asrs/service/MobileService.java | 6
src/main/webapp/views/locRule/locCodeRule.html | 39 +
24 files changed, 792 insertions(+), 60 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocRuleController.java b/src/main/java/com/zy/asrs/controller/LocRuleController.java
index 017f75b..234fed0 100644
--- a/src/main/java/com/zy/asrs/controller/LocRuleController.java
+++ b/src/main/java/com/zy/asrs/controller/LocRuleController.java
@@ -1,5 +1,7 @@
package com.zy.asrs.controller;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -12,10 +14,18 @@
import com.zy.asrs.entity.LocRule;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.LocRuleService;
+import com.zy.asrs.service.NodeService;
+import com.zy.asrs.utils.LocRuleExcelListener;
+import com.zy.common.entity.LocRuleExcel;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
import java.util.*;
@RestController
@@ -25,6 +35,8 @@
private LocRuleService locRuleService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private NodeService nodeService;
@RequestMapping(value = "/locRule/{id}/auth")
@ManagerAuth
@@ -80,11 +92,11 @@
locRule.setUpdateBy(getUserId());
locRule.setUpdateTime(now);
Integer locType2 = 1;//鍗曞搧鍖哄煙
- if (locRule.getMixed() == 1) {
- //娣疯浇
- locRule.setMatnr("00000000");
- locType2 = 2;//娣锋斁鍖哄煙
- }
+// if (locRule.getMixed() == 1) {
+// //娣疯浇
+// //locRule.setMatnr("00000000");
+// locType2 = 2;//娣锋斁鍖哄煙
+// }
locRuleService.insert(locRule);
locMastService.updateLocType2ByRBL(locType2, locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
return R.ok();
@@ -167,4 +179,34 @@
return R.ok();
}
+ /*************************************** 鏁版嵁鐩稿叧 ***********************************************/
+
+ /**
+ * excel瀵煎叆妯℃澘涓嬭浇
+ */
+ @RequestMapping(value = "/locCodeRule/excel/import/mould")
+ public void matExcelImportMould(HttpServletResponse response) throws IOException {
+ List<LocRuleExcel> excels = new ArrayList<>();
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("utf-8");
+ String fileName = URLEncoder.encode("搴撲綅缂栫爜瑙勫垯Excel瀵煎叆妯℃澘", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ EasyExcel.write(response.getOutputStream(), LocRuleExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+ .sheet("sheet1")
+ .doWrite(excels);
+ }
+
+ // excel瀵煎叆
+ @PostMapping(value = "/locCodeRule/excel/import/auth")
+ @ManagerAuth(memo = "搴撲綅缂栫爜瑙勫垯鏁版嵁瀵煎叆")
+ @Transactional
+ public R matExcelImport(MultipartFile file) throws IOException {
+ LocRuleExcelListener listener = new LocRuleExcelListener();
+ EasyExcel.read(file.getInputStream(), LocRuleExcel.class, listener).sheet().doRead();
+ return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+ }
+
+
+
}
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 1bd9767..be5faa2 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
+import com.zy.asrs.entity.param.ModifyPakoutParam;
import com.zy.asrs.entity.param.NodePakoutParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.service.*;
@@ -56,6 +57,10 @@
private MatService matService;
@Autowired
private WaitPakinService waitPakinService;
+ @Autowired
+ private LocRuleService locRuleService;
+ @Autowired
+ private NodeService nodeService;
// 缁勬墭 ----------------------------------------------------------------------------------------------------
@@ -337,8 +342,26 @@
public R recommendNodeLoc(@RequestBody HashMap<String,String> param){
String zpallet = param.get("zpallet");
+ List<WaitPakin> waitPakinList = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet));
+ for (WaitPakin waitPakin : waitPakinList){
+ List<LocRule> locRules = locRuleService.find(waitPakin.getMatnr());
+ if(!Cools.isEmpty(locRules)){
+ if(!Cools.isEmpty(findNodeLoc(locRules))){
+ return R.ok(findNodeLoc(locRules)).add(waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet",zpallet)));
+ }
+ }
- return R.ok("DT-C-010202").add(waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet",zpallet)));
+ if(!Cools.isEmpty(waitPakin.getBrand())){
+ List<LocRule> locCodeRules = locRuleService.find(waitPakin.getBrand().substring(0, 4));
+ if(!Cools.isEmpty(locRules)){
+ if(!Cools.isEmpty(findNodeLoc(locRules))){
+ return R.ok(findNodeLoc(locRules)).add(waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet",zpallet)));
+ }
+ }
+ }
+ }
+
+ return R.ok("").add(waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet",zpallet)));
}
@@ -422,4 +445,61 @@
return R.ok().add(waitPakins);
}
+ @RequestMapping("/wrkdetl/auth")
+ @ManagerAuth(memo = "鎷f枡淇℃伅")
+ public R checkWrkDetl(@RequestBody String barcode){
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ if(Cools.isEmpty(wrkMast)){
+ return R.error("璇ユ墭鐩樻病鏈夊伐浣滄。");
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ return R.ok().add(wrkDetls);
+ }
+
+ @RequestMapping("/modify/wrkdetl/auth")
+ @ManagerAuth(memo = "淇敼鎷f枡淇℃伅")
+ public R modifyWrkDetl(@RequestBody ModifyPakoutParam param){
+
+ String barcode = param.getBarcode();
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+
+ Double allPakoutAnfme = 0.0;
+ Double allModifyPakoutAnfme = 0.0;
+ for (WrkDetl wrkDetl : wrkDetls){
+ allPakoutAnfme += wrkDetl.getAnfme();
+ }
+ for (ModifyPakoutParam.CA ca : param.getParams()){
+ allModifyPakoutAnfme += ca.getAnfme();
+ }
+
+ if(!allPakoutAnfme.equals(allModifyPakoutAnfme)){
+ return R.error("淇敼鍚庢嫞鏂欑殑鏁伴噺涓庡師鏁伴噺涓嶇鍚堬紝璇烽噸鏂版牳瀵规嫞鏂欐暟閲�");
+ }
+
+ mobileService.modifyWrkDetl(wrkDetls,param.getParams(),getUserId());
+ return R.ok();
+
+ }
+
+ private String findNodeLoc(List<LocRule> locRules){
+ for (LocRule locRule : locRules) {
+ if (Cools.isEmpty(locRule.getOther())) {
+ continue;
+ }
+ EntityWrapper<Node> wrapper = new EntityWrapper<>();
+ wrapper.between("row1", locRule.getRowBeg(), locRule.getRowEnd())
+ .between("bay1", locRule.getBayBeg(), locRule.getBayEnd())
+ .between("lev1", locRule.getLevBeg(), locRule.getLevEnd())
+ .eq("parent_name", locRule.getOther())
+ .eq("status", "1");
+
+ Node node = nodeService.selectOne(wrapper);
+ if (Cools.isEmpty(node)) {
+ continue;
+ }
+ return node.getName();
+ }
+ return null;
+ }
}
diff --git a/src/main/java/com/zy/asrs/entity/LocRule.java b/src/main/java/com/zy/asrs/entity/LocRule.java
index 7449fae..b56eccb 100644
--- a/src/main/java/com/zy/asrs/entity/LocRule.java
+++ b/src/main/java/com/zy/asrs/entity/LocRule.java
@@ -1,24 +1,21 @@
package com.zy.asrs.entity;
-import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.enums.IdType;
+import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
import com.core.common.SpringUtils;
-import com.zy.system.service.UserService;
import com.zy.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import org.springframework.format.annotation.DateTimeFormat;
-import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
-import com.zy.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import com.baomidou.mybatisplus.annotations.TableName;
+import org.springframework.format.annotation.DateTimeFormat;
+
import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
@Data
@TableName("asr_loc_rule")
@@ -36,7 +33,8 @@
/**
* 鍟嗗搧缂栧彿
*/
- @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+ @ApiModelProperty(value= "鐗╂枡鍙�")
+ @ExcelProperty(value = "鐗╂枡缂栫爜鍓�4浣�")
private String matnr;
/**
@@ -61,12 +59,14 @@
* 鎵瑰彿
*/
@ApiModelProperty(value= "鎵瑰彿")
+ @ExcelProperty(value = "鎵瑰彿")
private String batch;
/**
* 鍏朵粬
*/
@ApiModelProperty(value= "鍏朵粬")
+ @ExcelProperty(value = "搴撳尯")
private String other;
/**
@@ -74,6 +74,7 @@
*/
@ApiModelProperty(value= "寮�濮嬫帓")
@TableField("row_beg")
+ @ExcelProperty(value = "寮�濮嬫帓")
private Integer rowBeg;
/**
@@ -81,6 +82,7 @@
*/
@ApiModelProperty(value= "缁撴潫鎺�")
@TableField("row_end")
+ @ExcelProperty(value = "缁撴潫鎺�")
private Integer rowEnd;
/**
@@ -88,6 +90,7 @@
*/
@ApiModelProperty(value= "寮�濮嬪垪")
@TableField("bay_beg")
+ @ExcelProperty(value = "寮�濮嬪垪")
private Integer bayBeg;
/**
@@ -95,6 +98,7 @@
*/
@ApiModelProperty(value= "缁撴潫鍒�")
@TableField("bay_end")
+ @ExcelProperty(value = "缁撴潫鍒�")
private Integer bayEnd;
/**
@@ -102,6 +106,7 @@
*/
@ApiModelProperty(value= "寮�濮嬪眰")
@TableField("lev_beg")
+ @ExcelProperty(value = "寮�濮嬪眰")
private Integer levBeg;
/**
@@ -109,6 +114,7 @@
*/
@ApiModelProperty(value= "缁撴潫灞�")
@TableField("lev_end")
+ @ExcelProperty(value = "缁撴潫灞�")
private Integer levEnd;
/**
@@ -128,6 +134,7 @@
*/
@ApiModelProperty(value= "娣诲姞浜哄憳")
@TableField("create_by")
+ @ExcelProperty(value = "娣诲姞浜哄憳")
private Long createBy;
/**
diff --git a/src/main/java/com/zy/asrs/entity/param/ModifyPakoutParam.java b/src/main/java/com/zy/asrs/entity/param/ModifyPakoutParam.java
new file mode 100644
index 0000000..42ce7f9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ModifyPakoutParam.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ModifyPakoutParam {
+ //鎵樼洏鐮�
+ String barcode;
+ //鏂欑鍙栧嚭鐨勬暟閲�
+ List<CA> params;
+
+ @Data
+ public class CA{
+ String containerCode;
+ double anfme;
+ }
+}
+
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 7ff140e..5cc7743 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -73,4 +73,6 @@
Set<String> selectLocNo(String matnr, String batch, String csocode, String isocode);
+ LocDetl selectByContainerCode(String containerCode);
+
}
diff --git a/src/main/java/com/zy/asrs/service/LocRuleService.java b/src/main/java/com/zy/asrs/service/LocRuleService.java
index 521df50..9e6e196 100644
--- a/src/main/java/com/zy/asrs/service/LocRuleService.java
+++ b/src/main/java/com/zy/asrs/service/LocRuleService.java
@@ -10,6 +10,8 @@
List<LocRule> find(String matnr);
+ List<LocRule> findCode(String matnr, String other);
+
//鎵炬贩杞藉簱浣嶈鍒�
List<LocRule> findMixed();
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 72e8cd3..6c6f79e 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,9 +1,13 @@
package com.zy.asrs.service;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
+import com.zy.asrs.entity.param.ModifyPakoutParam;
import com.zy.asrs.entity.param.NodePakoutParam;
import com.zy.system.entity.User;
+
+import java.util.List;
public interface MobileService {
@@ -22,4 +26,6 @@
void nodePutway(String zpallet, String locNo, User user);
void nodePakout(NodePakoutParam param, User user);
+
+ void modifyWrkDetl(List<WrkDetl> wrkDetls, List<ModifyPakoutParam.CA> params, Long userId);
}
diff --git a/src/main/java/com/zy/asrs/service/NodeService.java b/src/main/java/com/zy/asrs/service/NodeService.java
index ae259d8..5b3357e 100644
--- a/src/main/java/com/zy/asrs/service/NodeService.java
+++ b/src/main/java/com/zy/asrs/service/NodeService.java
@@ -29,4 +29,6 @@
void locMove(String sourceLocNo, String targetLocNo, Long userId,User user);
Page<Node> getPage(Page<Node> page);
+
+ Node selectByParentName(String parentName);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 35730ae..fd4717c 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -162,7 +162,7 @@
agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
//AgvTaskkDescribeParam
- if(agvWrkMast.getSourceLocNo().contains("C")){
+ if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
}
agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 2a12c7e..29ecb19 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -233,6 +233,10 @@
}
+ public LocDetl selectByContainerCode(String containerCode) {
+ return this.selectOne(new EntityWrapper<LocDetl>().eq("supp_code",containerCode));
+ }
+
@Override
public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) {
return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java
index 213c542..48d8271 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java
@@ -1,20 +1,20 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.LocRule;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.mapper.LocRuleMapper;
-import com.zy.asrs.entity.LocRule;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.LocRuleService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.service.MatService;
import com.zy.asrs.utils.Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
import java.util.List;
@Service("locRuleService")
@@ -38,6 +38,30 @@
return this.baseMapper.selectByMatnr(matnr);
}
+ @Override
+ public List<LocRule> findCode(String matnr,String other) {
+ if (Cools.isEmpty(matnr)) {
+ return null;
+ }
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ return null;
+ }
+ if(Cools.isEmpty(mat.getBrand())){
+ return null;
+ }
+
+ Wrapper<LocRule> wrapper = new EntityWrapper<LocRule>()
+ .eq("matnr",mat.getBrand().substring(0,4))
+ .eq("mixed",0)
+ .eq("status",1);
+
+ Utils.wapperSetCondition(wrapper,"other",other);
+
+ return this.selectList(wrapper);
+
+ }
+
//鎵炬贩杞藉簱浣嶈鍒�
@Override
public List<LocRule> findMixed() {
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index b5e36a0..5de7f20 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -7,10 +7,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.NodePakoutParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkLogHandler;
@@ -74,6 +71,8 @@
private NodeService nodeService;
@Autowired
private ManPakOutService manPakOutService;
+ @Autowired
+ private LocDetlService locDetlService;
@Override
@Transactional
@@ -474,6 +473,10 @@
SaasUtils.insertLog(0,locNo,waitPakin.getMatnr(), waitPakin.getAnfme(),user.getUsername());
});
+ Node node = nodeService.selectByUuid(locNo);
+ node.setStatus(0);
+ nodeService.updateById(node);
+
//鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
waitPakinLogService.save(zpallet);
//鍒犻櫎鍏ュ簱閫氱煡妗�
@@ -538,6 +541,7 @@
//淇敼搴撳瓨
manLocDetl.setAnfme(manLocDetl.getAnfme()-manPakOut.getCount());
if (manLocDetl.getAnfme() == 0 ){
+ checkNodeStatus(manLocDetl.getLocNo());
manLocDetlService.delete(manLocDetlWrapper);
}else{
manLocDetl.setStatus(1);
@@ -550,8 +554,28 @@
//妫�娴嬭鍗曟槸鍚﹀畬鎴�
orderService.checkComplete(param.getOrderNo());
+ }
+ @Transactional
+ public void modifyWrkDetl(List<WrkDetl> wrkDetls, List<ModifyPakoutParam.CA> params, Long userId) {
+ wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no",wrkDetls.get(0).getWrkNo()));
+
+ params.forEach(param ->{
+ WrkDetl wrkDetl = new WrkDetl();
+ LocDetl locDetl = locDetlService.selectByContainerCode(param.getContainerCode());
+ BeanUtils.copyProperties(locDetl,wrkDetl);
+ wrkDetl.setWrkNo(wrkDetls.get(0).getWrkNo());
+ if(wrkDetl.getAnfme() < param.getAnfme()){
+ throw new CoolException("鏂欑"+param.getContainerCode()+"鐨勭墿鏂欐暟閲忓皬浜庢嫞鏂欐暟閲忥紝璇烽噸鏂版牳瀵�");
+ }
+ wrkDetl.setAnfme(param.getAnfme());
+ wrkDetl.setModiTime(new Date());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiUser(userId);
+ wrkDetlService.insert(wrkDetl);
+
+ });
}
private void saveManlocDetl(WaitPakin waitPakin, Date now, String locNo){
@@ -588,21 +612,17 @@
return status;
-
-
}
- public static void main(String[] args) {
- ManPakOut m = new ManPakOut();
- m.setAnfme(1.0);
- NodePakoutParam n = new NodePakoutParam();
- n.setAnfme(1.0);
-
- double a = 1.0;
- double b = 1.0;
- System.out.println(m.getAnfme() == n.getAnfme());
- System.out.println(a == b);
- System.out.println(Double.doubleToLongBits(m.getAnfme()) == Double.doubleToLongBits(n.getAnfme()));
+ private void checkNodeStatus(String locNo){
+ ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo));
+ //濡傛灉搴撳瓨淇℃伅涓病鏈夋敼搴撲綅锛屽垯淇敼搴撲綅鐘舵�佷负1
+ if(Cools.isEmpty(manLocDetl)){
+ Node node = nodeService.selectByUuid(locNo);
+ node.setStatus(1);
+ nodeService.updateById(node);
+ }
}
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
index 8cbfb19..c3411f3 100644
--- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
@@ -224,4 +224,9 @@
page.setTotal(baseMapper.listByPageCount(page.getCondition()));
return page;
}
+
+ @Override
+ public Node selectByParentName(String parentName) {
+ return this.selectOne(new EntityWrapper<Node>().eq("parent_name",parentName));
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/LocRuleExcelListener.java b/src/main/java/com/zy/asrs/utils/LocRuleExcelListener.java
new file mode 100644
index 0000000..9b9afbc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/LocRuleExcelListener.java
@@ -0,0 +1,37 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.LocRule;
+import com.zy.asrs.service.LocRuleService;
+import com.zy.common.entity.LocRuleExcel;
+
+import java.util.Date;
+
+public class LocRuleExcelListener extends AnalysisEventListener<LocRuleExcel> {
+ private int total = 0;
+ @Override
+ public void invoke(LocRuleExcel excel, AnalysisContext ctx) {
+ LocRuleService locRuleService = SpringUtils.getBean(LocRuleService.class);
+ Date now = new Date();
+ LocRule locRule = new LocRule();
+ locRule = excel;
+ //BeanUtils.copyProperties(excel,locRule);
+ locRule.setCreateTime(now);
+ locRule.setUpdateTime(now);
+ locRule.setCstmr("1");
+ locRule.setStatus(1);
+ locRuleService.insert(locRule);
+ total++;
+ }
+
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+
+ }
+
+ public int getTotal() {
+ return total;
+ }
+}
diff --git a/src/main/java/com/zy/common/entity/LocRuleExcel.java b/src/main/java/com/zy/common/entity/LocRuleExcel.java
new file mode 100644
index 0000000..03fb276
--- /dev/null
+++ b/src/main/java/com/zy/common/entity/LocRuleExcel.java
@@ -0,0 +1,10 @@
+package com.zy.common.entity;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.zy.asrs.entity.LocRule;
+import lombok.Data;
+
+@Data
+@ExcelIgnoreUnannotated
+public class LocRuleExcel extends LocRule {
+}
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 1f21122..9b2e5f1 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -29,6 +29,8 @@
private AgvLocMastService agvLocMastService;
@Autowired
private MatService matService;
+ @Autowired
+ private LocRuleService locRuleService;
public int getWorkNo(Integer wrkMk) {
AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk);
@@ -76,6 +78,14 @@
//搴撲綅瑙勫垯
if(!Cools.isEmpty(agvWaitPakinList)){
locMast = getLocByLocRule(agvWaitPakinList.get(0),floor);
+ if(!Cools.isEmpty(locMast)){
+ return locMast;
+ }
+ }
+
+ //搴撲綅缂栫爜瑙勫垯
+ if(!Cools.isEmpty(agvWaitPakinList)){
+ locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor);
if(!Cools.isEmpty(locMast)){
return locMast;
}
@@ -150,6 +160,37 @@
}
/*
+ 搴撲綅瑙勫垯鏌ユ壘
+ */
+ private AgvLocMast getLocByLocCodeRule(AgvWaitPakin agvWaitPakin, int floor) {
+ if(Cools.isEmpty(agvWaitPakin.getBrand())){
+ return null;
+ }
+
+ //搴撳尯
+ String other = "agv-" + floor;
+ List<LocRule> locRules = locRuleService.findCode(agvWaitPakin.getMatnr(), other);
+ if(Cools.isEmpty(locRules)){
+ return null;
+ }
+
+ for (LocRule agvLocRule : locRules) {
+ EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+ wrapper.between("row1",agvLocRule.getRowBeg(),agvLocRule.getRowEnd())
+ .between("bay1",agvLocRule.getBayBeg(),agvLocRule.getBayEnd())
+ .between("lev1",agvLocRule.getLevBeg(),agvLocRule.getLevEnd())
+ .eq("floor",floor)
+ .eq("loc_sts","O");
+ AgvLocMast agvLocMast = agvLocMastService.selectOne(wrapper);
+ if(!Cools.isEmpty(agvLocMast)){
+ return agvLocMast;
+ }
+ }
+
+ return null;
+ }
+
+ /*
闈犺繎鎽嗘斁瑙勫垯
*/
private AgvLocMast getLocByProximityRule(){
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 1633fd3..f5e4231 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -144,6 +144,13 @@
return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
}
+ //瀛樿揣鍒嗙被缂栫爜瑙勫垯
+ locMast = getLocNoCodeStepRule(matNos, locTypeDto);
+ if (locMast != null) {
+ //鎵惧埌搴撲綅锛岃繑鍥瀌to
+ return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
+ }
+
// 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
locMast = getLocNoStep3(staDescId, matNos, locTypeDto);
if (locMast != null) {
@@ -213,6 +220,52 @@
return locMast;
}
+ /**
+ * 搴撲綅缂栫爜瑙勫垯
+ */
+ private LocMast getLocNoCodeStepRule(List<String> matNos, LocTypeDto locTypeDto) {
+ LocMast locMast = null;
+
+ //搴撲綅缂栫爜瑙勫垯鍙兘鍦ㄧ浉鍚岀紪鐮佽揣鐗╀腑鐢熸晥
+ String matnr = "";
+ for(String matNo : matNos){
+ if("".equals(matnr)){
+ matnr = matNo.substring(0, 4);
+ }
+ if(!matnr.equals(matNo.substring(0, 4))){
+ return null;
+ }
+ }
+
+ // 搴撳尯閿佸畾
+ List<LocRule> locRules = locRuleService.findCode(Cools.isEmpty(matNos) ? null : matNos.get(0),null);
+ if (locRules == null || locRules.isEmpty()) {
+ return null;//娌℃湁搴撲綅瑙勫垯锛岃烦鍑哄綋鍓嶄换鍔�
+ }
+
+ for (LocRule locRule : locRules) {
+ if (locRule == null) {
+ continue;
+ }
+
+ List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
+ for (LocMast locMast0 : locMasts) {
+ //棰勭暀绌哄簱浣�
+ if (locMastService.checkEmptyCount(locMast0, 10)) {
+ return locMast0;
+ }
+ }
+ }
+
+// if (locRules.get(0).getKeepGo() == 0) {
+// //鎵句笉鍒扮┖搴撲綅锛屼笖绂佹缁х画瀵绘壘鍏朵粬闈炴贩杞藉尯鍩熷簱浣�
+// //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
+// throw new CoolException("瑙勫垯鍖哄煙娌℃湁绌哄簱浣�");
+// }
+
+ return locMast;
+ }
+
// 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
private LocMast getLocNoStep3(Integer staDescId, List<String> matNos, LocTypeDto locTypeDto) {
LocMast locMast = null;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 76cd9f5..5524d58 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -53,6 +53,8 @@
private AgvWorkService agvWorkService;
@Autowired
private AgvBasDevpService agvBasDevpService;
+ @Autowired
+ private AgvWrkMastService agvWrkMastService;
// @Autowired
// private ErpService erpService;
@@ -345,9 +347,13 @@
AgvBasDevp agvBasDevp = agvBasDevpService.getByDevNo(param.getDevNo());
if(Cools.isEmpty(agvBasDevp) || !"O".equals(agvBasDevp.getLocSts())){
- //鍘绘壘agv宸ヤ綔妗d换鍔�
throw new CoolException("褰撳墠绔欑偣涓嶅瓨鍦ㄦ垨鑰呯珯鐐逛笉涓虹┖");
}
+ //鍘绘壘agv宸ヤ綔妗d换鍔�
+ if(!Cools.isEmpty(agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+ .eq("barcode",containerCode)))){
+ throw new CoolException("璇ユ枡绠辨鍦ㄥ叆搴撲腑");
+ }
//缁戝畾绔欑偣
agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
diff --git a/src/main/webapp/static/js/locRule/locCodeRule.js b/src/main/webapp/static/js/locRule/locCodeRule.js
new file mode 100644
index 0000000..6bebc9b
--- /dev/null
+++ b/src/main/webapp/static/js/locRule/locCodeRule.js
@@ -0,0 +1,334 @@
+var pageCurr;
+var admin;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).extend({
+ dropdown: 'dropdown/dropdown',
+}).use(['table','laydate', 'form', 'admin', 'dropdown', 'element'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ admin = layui.admin;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#locRule',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/locRule/list/auth',
+ page: true,
+ limit: 15,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ height: 'full-120',
+ where:{cstmr : 1},
+ cols: [[
+ {type: 'checkbox'}
+ // ,{field: 'id', align: 'center',title: 'ID'}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'}
+ ,{field: 'specs', align: 'center',title: '瑙勬牸', hide: true}
+ ,{field: 'model', align: 'center',title: '閫氱敤鍨嬪彿', hide: true}
+ ,{field: 'cstmr', align: 'center',title: '瀹㈡埛', hide: true}
+ ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+ ,{field: 'other', align: 'center',title: '搴撳尯'}
+ ,{field: 'rowBeg', align: 'center',title: '寮�濮嬫帓'}
+ ,{field: 'rowEnd', align: 'center',title: '缁撴潫鎺�'}
+ ,{field: 'bayBeg', align: 'center',title: '寮�濮嬪垪'}
+ ,{field: 'bayEnd', align: 'center',title: '缁撴潫鍒�'}
+ ,{field: 'levBeg', align: 'center',title: '寮�濮嬪眰'}
+ ,{field: 'levEnd', align: 'center',title: '缁撴潫灞�'}
+ ,{field: 'limit', align: 'center',title: '涓婇檺', hide: true}
+ ,{field: 'status$', align: 'center',title: '鐘舵��', hide: true}
+ ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true}
+ ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿', hide: true}
+ ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}
+ ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide: true}
+ ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+ ,{field: 'mixed$', align: 'center',title: '娣疯浇'}
+ // ,{field: 'keepGo$', align: 'center',title: '缁х画鎼滅储'}
+
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit',
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+
+ // 鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(locRule)', function (obj) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ searchData['orderByField'] = obj.field;
+ searchData['orderByType'] = obj.type;
+ tableIns.reload({
+ where: searchData,
+ page: {curr: 1}
+ });
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(locRule)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ switch(obj.event) {
+ case 'addData':
+ showEditModel();
+ break;
+ case 'deleteData':
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ break;
+ case 'exportData':
+ admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'locRule': exportData,
+ 'fields': fields
+ };
+ $.ajax({
+ url: baseUrl+"/locRule/export/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ });
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(locRule)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'edit':
+ showEditModel(data);
+ break;
+ case "del":
+ del([data.id]);
+ break;
+ }
+ });
+
+ /* 寮圭獥 - 鏂板銆佷慨鏀� */
+ function showEditModel(mData) {
+ admin.open({
+ type: 1,
+ area: '1000px',
+ title: (mData ? '淇敼' : '娣诲姞') + '搴撳尯瑙勫垯',
+ content: $('#editDialog').html(),
+ success: function (layero, dIndex) {
+ layDateRender(mData);
+ form.val('detail', mData);
+ form.on('submit(editSubmit)', function (data) {
+ data.field.cstmr = 1;
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/locRule/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function del(ids) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/locRule/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ // 鎼滅储
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ tableReload(false);
+ });
+
+ // 閲嶇疆
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ tableReload(false);
+ });
+
+ // 鏃堕棿閫夋嫨鍣�
+ function layDateRender(data) {
+ setTimeout(function () {
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
+ });
+ layDate.render({
+ elem: '#createTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['createTime\\$']:null
+ });
+ layDate.render({
+ elem: '#updateTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['updateTime\\$']:null
+ });
+
+ }, 300);
+ }
+ layDateRender();
+
+});
+
+// excel瀵煎叆妯℃澘涓嬭浇
+function excelMouldDownload(){
+ layer.load(1, {shade: [0.1,'#fff']});
+ location.href = baseUrl + "/locCodeRule/excel/import/mould";
+ layer.closeAll('loading');
+}
+
+// excel瀵煎叆
+function importExcel() {
+ $("#importExcel").trigger("click");
+}
+function upload(obj){
+ if(!obj.files) {
+ return;
+ }
+ var file = obj.files[0];
+ admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
+ layer.load(1, {shade: [0.1,'#fff']});
+ var url = baseUrl + "/locCodeRule/excel/import/auth";
+ var form = new FormData();
+ form.append("file", file);
+ xhr = new XMLHttpRequest();
+ xhr.open("post", url, true); //post鏂瑰紡锛寀rl涓烘湇鍔″櫒璇锋眰鍦板潃锛宼rue 璇ュ弬鏁拌瀹氳姹傛槸鍚﹀紓姝ュ鐞嗐��
+ xhr.setRequestHeader('token', localStorage.getItem('token'));
+ xhr.onload = uploadComplete; //璇锋眰瀹屾垚
+ xhr.onerror = uploadFailed; //璇锋眰澶辫触
+ xhr.onloadend = function () { // // 涓婁紶瀹屾垚閲嶇疆鏂囦欢娴�
+ layer.closeAll('loading');
+ $("#importExcel").val("");
+ };
+ // xhr.upload.onprogress = progressFunction;//銆愪笂浼犺繘搴﹁皟鐢ㄦ柟娉曞疄鐜般��
+ xhr.upload.onloadstart = function(){//涓婁紶寮�濮嬫墽琛屾柟娉�
+ ot = new Date().getTime(); //璁剧疆涓婁紶寮�濮嬫椂闂�
+ oloaded = 0;//璁剧疆涓婁紶寮�濮嬫椂锛屼互涓婁紶鐨勬枃浠跺ぇ灏忎负0
+ };
+ xhr.send(form);
+ }, function(index){
+ $("#importExcel").val("");
+ });
+}
+function uploadComplete(evt) {
+ var res = JSON.parse(evt.target.responseText);
+ if(res.code === 200) {
+ layer.msg(res.msg, {icon: 1});
+ loadTree("");
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+}
+function uploadFailed(evt) {
+ var res = JSON.parse(evt.target.responseText);
+ layer.msg(res.msg, {icon: 2});
+}
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+ parent.layer.closeAll();
+});
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ tableIns.reload({
+ where: searchData,
+ page: {curr: pageCurr}
+ });
+}
diff --git a/src/main/webapp/static/js/locRule/locRule.js b/src/main/webapp/static/js/locRule/locRule.js
index 1089ff5..536302b 100644
--- a/src/main/webapp/static/js/locRule/locRule.js
+++ b/src/main/webapp/static/js/locRule/locRule.js
@@ -20,6 +20,7 @@
toolbar: '#toolbar',
cellMinWidth: 50,
height: 'full-120',
+ where:{cstmr : 0},
cols: [[
{type: 'checkbox'}
// ,{field: 'id', align: 'center',title: 'ID'}
@@ -28,7 +29,7 @@
,{field: 'model', align: 'center',title: '閫氱敤鍨嬪彿', hide: true}
,{field: 'cstmr', align: 'center',title: '瀹㈡埛', hide: true}
,{field: 'batch', align: 'center',title: '鎵瑰彿'}
- ,{field: 'other', align: 'center',title: '鍏朵粬', hide: true}
+ ,{field: 'other', align: 'center',title: '搴撳尯'}
,{field: 'rowBeg', align: 'center',title: '寮�濮嬫帓'}
,{field: 'rowEnd', align: 'center',title: '缁撴潫鎺�'}
,{field: 'bayBeg', align: 'center',title: '寮�濮嬪垪'}
@@ -166,6 +167,7 @@
layDateRender(mData);
form.val('detail', mData);
form.on('submit(editSubmit)', function (data) {
+ data.field.cstmr = 0;
var loadIndex = layer.load(2);
$.ajax({
url: baseUrl+"/locRule/"+(mData?'update':'add')+"/auth",
diff --git a/src/main/webapp/views/locRule/locCodeRule.html b/src/main/webapp/views/locRule/locCodeRule.html
index de00d88..ad88cd4 100644
--- a/src/main/webapp/views/locRule/locCodeRule.html
+++ b/src/main/webapp/views/locRule/locCodeRule.html
@@ -52,6 +52,17 @@
<button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+
+ <div class="dropdown-menu" style="float: right">
+ <button class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm"> 鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>
+ <ul class="dropdown-menu-nav dark">
+ <div class="dropdown-anchor"></div>
+ <li class="title">1st menu</li>
+ <li><a onclick="excelMouldDownload()" style="font-size: 12px"><i class="layui-icon layui-icon-template-1"></i>妯℃澘涓嬭浇</a></li>
+ <li><a onclick="importExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-upload"></i>瀵煎叆 Excel</a></li>
+ <li style="display: none"><input id="importExcel" type="file" onchange="upload(this)" ></li>
+ </ul>
+ </div>
</div>
</script>
@@ -64,7 +75,8 @@
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/locRule/locRule.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/locRule/locCodeRule.js" charset="utf-8"></script>
+
</body>
<!-- 琛ㄥ崟寮圭獥 -->
<script type="text/html" id="editDialog">
@@ -104,9 +116,12 @@
</div>
<div class="layui-form-item">
<label class="layui-form-label">搴撳尯: </label>
- <div class="layui-input-block">
- <input class="layui-input" name="batch" placeholder="璇疯緭鍏ュ簱鍖�">
+ <div class="layui-input-block" title="agv-1浠h〃1妤糰gv搴撳尯锛宎gv-3浠h〃3妤糰gv搴撳尯">
+ <input class="layui-input" name="other" placeholder="璇疯緭鍏ュ钩搴撴垨鑰卆gv搴撳尯锛屼笉濉垯榛樿涓哄洓椤瑰簱搴撲綅瑙勫垯">
</div>
+ </div>
+ <div class="layui-form-item">
+
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">鍏朵粬: </label>-->
@@ -120,15 +135,15 @@
<!-- <input class="layui-input" name="limit" placeholder="璇疯緭鍏ヤ笂闄�">-->
<!-- </div>-->
<!-- </div>-->
- <div class="layui-form-item">
- <label class="layui-form-label">娣疯浇: </label>
- <div class="layui-input-block">
- <select name="mixed">
- <option value="1" selected>鏄�</option>
- <option value="0">鍚�</option>
- </select>
- </div>
- </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">娣疯浇: </label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <select name="mixed">-->
+<!-- <option value="1" >鏄�</option>-->
+<!-- <option value="0" selected>鍚�</option>-->
+<!-- </select>-->
+<!-- </div>-->
+<!-- </div>-->
<!-- <div class="layui-form-item">
<label class="layui-form-label">娣疯浇鏈壘鍒板簱浣嶇户缁悳绱�: </label>
<div class="layui-input-block">
diff --git a/src/main/webapp/views/locRule/locRule.html b/src/main/webapp/views/locRule/locRule.html
index 326cb19..5591047 100644
--- a/src/main/webapp/views/locRule/locRule.html
+++ b/src/main/webapp/views/locRule/locRule.html
@@ -102,6 +102,12 @@
<input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�">
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">搴撳尯: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="other" placeholder="璇疯緭鍏ュ簱鍖猴紝涓嶅~鍒欓粯璁や负鍥涢」搴撳簱浣嶈鍒�">
+ </div>
+ </div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">鍏朵粬: </label>-->
<!-- <div class="layui-input-block">-->
@@ -118,8 +124,8 @@
<label class="layui-form-label">娣疯浇: </label>
<div class="layui-input-block">
<select name="mixed">
- <option value="1" selected>鏄�</option>
- <option value="0">鍚�</option>
+ <option value="1">鏄�</option>
+ <option value="0" selected>鍚�</option>
</select>
</div>
</div>
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 6f2e8ce..cfe2b54 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -385,13 +385,17 @@
<!-- 棰勮鍥� 4 -->
<div id="template-preview-4" class="template-preview" style="display: none">
<table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
- <tr style="height: 74px">
+ <tr style="height: 37px">
<td align="center" scope="col" >鍟嗗搧</td>
<td align="center" scope="col" style="">xxxxxx-xx/xx</td>
- <td align="center" scope="col" colspan="2">
+ <td align="center" scope="col" colspan="2" rowspan="2">
<img class="template-code template-qrcode" src="" width="80%">
<div style="letter-spacing: 1px;margin-top: 1px; text-align: center"><span>xxxxxx</span></div>
</td>
+ </tr>
+ <tr style="height: 37px">
+ <td align="center" scope="col" >鏁伴噺</td>
+ <td align="center" scope="col" style=""></td>
</tr>
<tr style="height: 74px">
<td align="center" >瑙勬牸</td>
@@ -492,16 +496,20 @@
<script type="text/template" id="templatePreview4" class="template-qrcode">
{{#each data}}
<table class="contain" width="400px" style="overflow: hidden;font-size: xx-small;table-layout: fixed; color:#000;">
- <tr style="height: 74px;font-size: 18px; font-weight: 400" >
+ <tr style="height: 50px;font-size: 18px; font-weight: 400" >
<td width="50px" align="center" scope="col" colspan="1">鍟嗗搧</td>
<td width="170px" align="center" scope="col" colspan="1">{{this.maktx}}</td>
- <td align="center" scope="col" colspan="2" >
+ <td align="center" scope="col" colspan="2" rowspan="2">
<img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
<div style="letter-spacing: 1px;margin-top: 1px; text-align: center; font-weight: 400">
<span>{{this.matnr}}</span>
</div>
</td>
</tr>
+ <tr style="height: 24px;font-size: 18px; font-weight: 400" >
+ <td width="50px" align="center" scope="col" colspan="1">鏁伴噺</td>
+ <td width="170px" align="center" scope="col" colspan="1"></td>
+ </tr>
<tr style="height: 50px; font-size: 18px;font-weight: 400">
<td width="50px" align="center" colspan="1">瑙勬牸</td>
<td align="center" colspan="3" style="
diff --git a/src/main/webapp/views/saasRule/locRule.html b/src/main/webapp/views/saasRule/locRule.html
index 00a770b..9888e99 100644
--- a/src/main/webapp/views/saasRule/locRule.html
+++ b/src/main/webapp/views/saasRule/locRule.html
@@ -102,6 +102,12 @@
<input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�">
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">搴撳尯: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="parentName" placeholder="璇疯緭鍏ュ簱鍖�">
+ </div>
+ </div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">鍏朵粬: </label>-->
<!-- <div class="layui-input-block">-->
--
Gitblit v1.9.1