From 25314b5ee613c48e7db31138d7fcb8abc4c536be Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期日, 14 一月 2024 20:15:05 +0800
Subject: [PATCH] # 功能完善
---
src/main/java/com/zy/common/web/BaseController.java | 3
src/main/java/com/zy/asrs/controller/DocTypeController.java | 1
src/main/java/com/zy/asrs/mapper/PlaLogMapper.java | 12
src/main/java/com/zy/common/entity/PlaExcel.java | 16
src/main/webapp/views/order/order.html | 52 +
src/main/java/com/zy/asrs/service/OrderDetlService.java | 2
src/main/webapp/static/js/pla/plaDetl.js | 222 ++++++-
src/main/webapp/static/js/order/out.js | 35
src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java | 13
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 42 +
src/main/java/com/zy/asrs/controller/OutController.java | 68 --
src/main/java/com/zy/asrs/service/MobileService.java | 2
src/main/java/com/zy/asrs/controller/OrderController.java | 29
src/main/java/com/zy/asrs/entity/PlaLog.java | 245 +++++++++
src/main/java/com/zy/asrs/controller/PlaController.java | 105 +++
src/main/java/com/zy/asrs/service/PlaLogService.java | 9
src/main/java/com/zy/asrs/task/OrderLogScheduler.java | 3
src/main/java/com/zy/asrs/controller/MobileController.java | 17
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 15
src/main/webapp/static/js/cool.js | 29
src/main/java/com/zy/asrs/entity/Pla.java | 124 +++
src/main/java/com/zy/asrs/controller/LocOwnerController.java | 1
src/main/webapp/views/pla/returned.html | 5
src/main/java/com/zy/asrs/entity/PlaQty.java | 6
src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java | 20
src/main/webapp/views/pla/sellout.html | 175 ++++-
src/main/java/com/zy/asrs/utils/PlaExcelListener.java | 97 +++
src/main/webapp/views/pla/plaDetl.html | 137 +++-
src/main/java/com/zy/asrs/controller/NodeController.java | 13
src/main/java/com/zy/asrs/controller/PlaQtyController.java | 4
src/main/java/com/zy/asrs/entity/param/GlobleParameter.java | 9
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 5
src/main/webapp/static/js/order/order.js | 66 +-
src/main/webapp/views/order/out.html | 16
src/main/java/com/zy/asrs/service/impl/PlaLogServiceImpl.java | 12
src/main/webapp/static/js/pla/waitingPakin.js | 1
36 files changed, 1,253 insertions(+), 358 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/DocTypeController.java b/src/main/java/com/zy/asrs/controller/DocTypeController.java
index 72ce073..4641c70 100644
--- a/src/main/java/com/zy/asrs/controller/DocTypeController.java
+++ b/src/main/java/com/zy/asrs/controller/DocTypeController.java
@@ -112,6 +112,7 @@
Map<String, Object> map = new HashMap<>();
map.put("id", docType.getDocId());
map.put("value", docType.getDocName());
+ map.put("type","docType");
result.add(map);
}
return R.ok(result);
diff --git a/src/main/java/com/zy/asrs/controller/LocOwnerController.java b/src/main/java/com/zy/asrs/controller/LocOwnerController.java
index 27aad1e..f9e9513 100644
--- a/src/main/java/com/zy/asrs/controller/LocOwnerController.java
+++ b/src/main/java/com/zy/asrs/controller/LocOwnerController.java
@@ -123,6 +123,7 @@
map.put("value", locOwner.getOwner());
map.put("phone", locOwner.getPhone());
map.put("addr", locOwner.getAddr());
+ map.put("type", "locOwner");
result.add(map);
}
return R.ok(result);
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 0ec5bf0..c305d33 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -17,6 +17,7 @@
import com.zy.asrs.service.*;
import com.zy.common.model.WrkDto;
import com.zy.common.web.BaseController;
+import com.zy.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -427,7 +428,14 @@
if(Cools.isEmpty(locNo) || Cools.isEmpty(batch) || Cools.isEmpty(packageNo)){
return R.error("鏈夊弬鏁颁负绌猴紝鏃犳硶鍏ュ簱");
}
- mobileService.plaPakin(locNo,batch,packageNo);
+ //娴嬭瘯
+ if(true){
+ User user = new User();
+ user.setUsername("test");
+ mobileService.plaPakin(locNo,batch,packageNo,user);
+ return R.ok();
+ }
+ mobileService.plaPakin(locNo,batch,packageNo,getUser());
return R.ok();
}
@@ -468,4 +476,11 @@
mobileService.plaPakout(locNo,batch,packageNo,orderNo,orderDetlId,wrkNo,anfme);
return R.ok();
}
+
+ public static void main(String[] args) {
+ String aa = "aabb";
+ String[] ccs = aa.split("cc");
+ System.out.println(ccs[0]);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/controller/NodeController.java b/src/main/java/com/zy/asrs/controller/NodeController.java
index 1a3d6b3..15baa78 100644
--- a/src/main/java/com/zy/asrs/controller/NodeController.java
+++ b/src/main/java/com/zy/asrs/controller/NodeController.java
@@ -13,9 +13,8 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.Node;
import com.zy.asrs.entity.param.InitPakoutParam;
-import com.zy.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.entity.param.NodeInitPatam;
import com.zy.asrs.entity.param.PakinParam;
import com.zy.asrs.entity.result.KeyValueVo;
@@ -24,7 +23,6 @@
import com.zy.common.entity.NodeExcel;
import com.zy.common.entity.NodeExcelListener;
import com.zy.common.entity.Parameter;
-import com.zy.common.model.Shelves;
import com.zy.common.utils.ListUtils;
import com.zy.common.utils.NodeUtils;
import com.zy.common.utils.TreeUtils;
@@ -38,8 +36,6 @@
import java.io.IOException;
import java.net.URLEncoder;
import java.util.*;
-
-import static jdk.nashorn.api.scripting.ScriptUtils.convert;
@RestController
public class NodeController extends BaseController {
@@ -392,8 +388,11 @@
locNo = param.getName()+"-" +String.format("%02d", r) + String.format("%02d", b) + String.format("%02d", l);
}
-
-
+ //瀹㈡埛瑕佹眰鏍煎紡浣岮-01-01-01
+ StringBuilder sb = new StringBuilder(locNo);
+ sb.insert(sb.length()-4,"-");
+ sb.insert(sb.length()-2,"-");
+ locNo = sb.toString();
if (locNo == null){
continue;
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 0302aef..f47db1a 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -133,13 +133,13 @@
DateUtils.convert(now), // 鍗曟嵁鏃ユ湡
param.getDocType(), // 鍗曟嵁绫诲瀷
null, // 椤圭洰缂栧彿
- null, //
+ param.getItemName(), //
null, // 璋冩嫧椤圭洰缂栧彿
null, // 鍒濆绁ㄦ嵁鍙�
- null, // 绁ㄦ嵁鍙�
- null, // 瀹㈡埛缂栧彿
- null, // 瀹㈡埛
- null, // 鑱旂郴鏂瑰紡
+ param.getNumber(), // 绁ㄦ嵁鍙�
+ param.getCstmr(), // 瀹㈡埛缂栧彿
+ param.getCstmrName(), // 瀹㈡埛
+ param.getTel(), // 鑱旂郴鏂瑰紡
null, // 鎿嶄綔浜哄憳
null, // 鍚堣閲戦
null, // 浼樻儬鐜�
@@ -209,9 +209,14 @@
Date now = new Date();
Long userId = getUserId();
// 淇敼涓绘。
- if (!param.getDocType().equals(order.getDocType())) {
+ if (!param.getDocType().equals(order.getDocType()) || param.getCstmrName() != order.getCstmrName() || !Cools.eq(param.getItemName(),order.getItemName())) {
order.setDocType(param.getDocType());
order.setUpdateBy(userId);
+ order.setCstmr(param.getCstmr());
+ order.setCstmrName(param.getCstmrName());
+ order.setTel(param.getTel());
+ order.setNumber(param.getNumber());
+ order.setItemName(param.getItemName());
order.setUpdateTime(now);
if (!orderService.updateById(order)) {
throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触");
@@ -227,8 +232,7 @@
List<DetlDto> list = new ArrayList<>();
for (OrderDetl orderDetl : param.getOrderDetlList()) {
DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
- //if (DetlDto.has(list, dto)) {
- if(false){
+ if (DetlDto.has(list, dto)) {
OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
if (!orderDetlService.updateById(item)) {
@@ -343,13 +347,18 @@
@ManagerAuth
public R query(String condition) {
EntityWrapper<Order> wrapper = new EntityWrapper<>();
- wrapper.like("id", condition);
+ wrapper.like("order_no", condition);
Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
for (Order order : page.getRecords()){
Map<String, Object> map = new HashMap<>();
map.put("id", order.getId());
map.put("value", order.getOrderNo());
+ map.put("customer",order.getCstmrName());
+ map.put("phone",order.getTel());
+ map.put("addr",order.getNumber());
+ map.put("allocate",order.getItemName());
+ map.put("type","order");
result.add(map);
}
return R.ok(result);
@@ -393,7 +402,7 @@
List<OrderDetlVo> orderDetlVos=new ArrayList<>();
OrderDetlVo orderDetlVo=new OrderDetlVo();
for (OrderDetl o:
- list) {
+ list) {
orderDetlVo.setOrderNo(o.getOrderNo());
orderDetlVo.setMatnr(o.getMatnr());
orderDetlVo.setMaktx(o.getMaktx());
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 59dfbe0..7417ecb 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -173,14 +173,25 @@
@RequestMapping(value = "/orderDetlQuery/auth")
@ManagerAuth
public R query(String condition) {
+
+ if(condition.split(",").length < 2){
+ return R.ok();
+ }
+
+ String maktxCondition = condition.split(",")[0];
+ Long orderId = Long.parseLong(condition.split(",")[1]);
+
EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
- wrapper.like("id", condition);
+ wrapper.eq("order_id",orderId);
+ wrapper.like("maktx", maktxCondition);
Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
for (OrderDetl orderDetl : page.getRecords()){
Map<String, Object> map = new HashMap<>();
map.put("id", orderDetl.getId());
- map.put("value", orderDetl.getId());
+ map.put("value", orderDetl.getMaktx());
+ map.put("weight",orderDetl.getAnfme() - orderDetl.getWorkQty());
+ map.put("type","orderDetl");
result.add(map);
}
return R.ok(result);
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 02b14bc..934e4e8 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -11,15 +11,13 @@
import com.zy.common.model.TaskDto;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -47,10 +45,6 @@
private ManPakOutService manPakOutService;
@Autowired
private ManLocDetlService manLocDetlService;
- @Autowired
- private PlaService plaService;
- @Autowired
- private PlaQtyService plaQtyService;
@PostMapping("/out/pakout/orderDetlIds/auth")
@@ -74,15 +68,6 @@
}
}
- List<PlaQty> plaQties = new ArrayList<>();
-
- for (OrderDetl orderDetl : orderDetls) {
- plaService.queryStock(orderDetl,plaQties);
- }
-
- return R.ok(plaQties);
-
-/*
Set<String> exist = new HashSet<>();
for (OrderDetl orderDetl : orderDetls) {
@@ -123,13 +108,12 @@
locDtos.add(locDto);
}
}
- return R.ok().add(locDtos); */
+ return R.ok().add(locDtos);
}
@PostMapping("/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
-
int[][] is=new int[locDtos.size()][2];
for (int i=0;i<locDtos.size();i++){
LocDto locDto=locDtos.get(locDtos.size()-1-i);
@@ -184,31 +168,8 @@
@PostMapping("/out/pakout2/auth")
@ManagerAuth(memo = "鐢熸垚鎷h揣鍗�")
- @Transactional
- public synchronized R pakout2(@RequestBody List<PlaQty> plaQties) throws InterruptedException {
-
- for (PlaQty plaQty : plaQties){
- if(Cools.isEmpty(plaQty.getLocNo())){
- continue;
- }
- //鎻掑叆涓�鏉la鐨勬嫞璐т俊鎭�
- plaQtyService.insert(plaQty);
- addPakOUT(plaQty);
-
- Pla pla = plaService.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo());
- //pla鏄庣粏涓慨鏀归攣瀹氬嚭搴撶殑閲嶉噺
- pla.setQtyAnfme(pla.getQtyAnfme() + plaQty.getQtyAnfme());
- plaService.updateById(pla);
-
- OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId());
- orderDetl.setWorkQty(orderDetl.getWorkQty() + plaQty.getQtyAnfme());
- orderDetlService.updateById(orderDetl);
- orderService.updateSettle(plaQty.getOrderId(),2L,null);
- }
-
- return R.ok();
-
- /* int[][] is = new int[locDtos.size()][2];
+ public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+ int[][] is = new int[locDtos.size()][2];
List<String> matnrs=new ArrayList<>();
for (int i = 0; i < locDtos.size(); i++) {
LocDto locDto = locDtos.get(locDtos.size() - 1 - i);
@@ -300,25 +261,6 @@
addPakOUT(locDto,uuid).equals(R.ok());
}
}
- return R.ok(); */
- }
-
- private R addPakOUT(PlaQty plaQty){
- ManPakOut manPakOut=new ManPakOut();
- manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis());
- manPakOut.setWrkSts((long)1);
- manPakOut.setAnfme(plaQty.getQtyAnfme());
- manPakOut.setLocNo(plaQty.getLocNo());
- manPakOut.setBatch(plaQty.getBatch());
- manPakOut.setBarcode(plaQty.getPackageNo());
- manPakOut.setUuid(String.valueOf(System.currentTimeMillis()));
- manPakOut.setCreateTime(new Date());
- manPakOut.setUpdateTime(new Date());
- manPakOut.setCount(0.0);
- manPakOut.setDocNum(plaQty.getOrderNo());
- manPakOut.setNodeId(plaQty.getOrderDetlId());
- manPakOut.setStatus(0);
- manPakOutService.insert(manPakOut);
return R.ok();
}
diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index f8978f1..815f418 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -1,26 +1,30 @@
package com.zy.asrs.controller;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.ManPakOut;
-import com.zy.asrs.entity.Pla;
-import com.zy.asrs.entity.PlaQty;
-import com.zy.asrs.service.ManPakOutService;
-import com.zy.asrs.service.PlaQtyService;
-import com.zy.asrs.service.PlaService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.utils.PlaExcelListener;
import com.zy.asrs.utils.SaasUtils;
+import com.zy.common.entity.PlaExcel;
import com.zy.common.web.BaseController;
+import lombok.Synchronized;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+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.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -34,6 +38,12 @@
private PlaQtyService plaQtyService;
@Autowired
private ManPakOutService manPakOutService;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private PlaLogService plaLogService;
@RequestMapping(value = "/pla/list/auth")
@ManagerAuth
@@ -44,6 +54,7 @@
excludeTrash(param);
EntityWrapper<Pla> wrapper = new EntityWrapper<>();
convert(param, wrapper);
+ wrapper.orderBy("pakin_time",false);
allLike(Pla.class, param.keySet(), wrapper, condition);
return R.ok(plaService.selectPage(new Page<>(curr, limit), wrapper));
}
@@ -63,6 +74,11 @@
public R update(@RequestBody List<Pla> plas) {
System.out.println(plas.toString());
plas.forEach(pla -> {
+ Pla plaSave = plaService.selectById(pla.getId());
+ PlaLog plaLog = new PlaLog();
+ BeanUtils.copyProperties(plaSave,plaLog);
+ plaLog.setId(null);
+ plaLogService.insert(plaLog);
plaService.updateById(pla);
});
return R.ok();
@@ -76,29 +92,52 @@
@RequestMapping(value = "/pla/sellout/auth")
@ManagerAuth
+ @Transactional
+ @Synchronized
public R sellout(@RequestBody List<Pla> plas) {
- plas.forEach(pla -> {
+ String orderNo = plas.get(0).getOrderNo();
+ String maktx = plas.get(0).getBrand();
+ Double allOrderWeight = 0.0;
+ Order order = orderService.selectByNo(orderNo);
+ OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMaktx(orderNo, maktx);
+
+ for (Pla pla : plas){
+
+ allOrderWeight += pla.getOrderWeight();
if(pla.getWeightAnfme() - pla.getQtyAnfme() - pla.getOrderWeight() < 0){
- throw new CoolException("璇ュ簱瀛樺墿浣欓噸閲忎笉瓒筹紝璇疯皟鏁村嚭搴撻噸閲�");
+ throw new CoolException("鎵瑰彿:" + pla.getBatch() +"锛屽寘鍙�:" + pla.getPackageNo() +" 鍓╀綑鍙嚭搴撻噸閲忎笉瓒筹紝璇疯皟鏁村嚭搴撻噸閲�");
}
pla.setQtyAnfme(pla.getQtyAnfme() + pla.getOrderWeight());
pla.setHandlerBy(getUser().getUsername());
pla.setStatus("寰呭嚭搴�");
pla.setPakoutTime(pla.getPakoutTime().split("\\(")[0]);
+ //鐢熸垚姝ゆ浣滀笟淇℃伅
PlaQty plaQty = new PlaQty();
BeanUtils.copyProperties(pla,plaQty);
plaQty.setCreateTime(new Date());
plaQty.setId(null);
-
+ plaQty.setTransfer(order.getDocType$());
+ plaQty.setOrderDetlId(orderDetl.getId());
plaService.updateById(pla);
plaQtyService.insert(plaQty);
-
//鐢熸垚鎷h揣鍗�
addPakOUT(plaQty);
- });
+ };
+
+ //淇敼鍗曟嵁淇℃伅
+ if(orderDetl.getAnfme()-orderDetl.getWorkQty()-allOrderWeight < 0){
+ throw new CoolException("璇ヨ鍗曞嚭搴撴暟閲忓ぇ浜庤鍗曞緟鍑烘暟閲忥紝璇烽噸鏂伴�夋嫨鍑哄簱鏁伴噺");
+ }
+ if(order.getStatus() < 2){
+ orderService.updateSettle(order.getId(),2L,getUserId());
+ }
+
+ orderDetl.setWorkQty(orderDetl.getWorkQty() + allOrderWeight);
+ orderDetlService.updateById(orderDetl);
+
return R.ok();
}
@@ -125,6 +164,36 @@
return R.ok();
}
+ /**
+ * excel瀵煎叆妯℃澘涓嬭浇
+ */
+ @RequestMapping(value = "/pla/excel/import/mould")
+ public void plaExcelImportMould(HttpServletResponse response) throws IOException {
+ List<PlaExcel> excels = new ArrayList<>();
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("utf-8");
+ String fileName = URLEncoder.encode("鑱氫钩閰窫xcel瀵煎叆妯℃澘", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ EasyExcel.write(response.getOutputStream(), PlaExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+ .sheet("sheet1")
+ .doWrite(excels);
+ }
+
+ // excel瀵煎叆
+ @PostMapping(value = "/pla/excel/import/auth")
+ @ManagerAuth(memo = "pla妗f鏁版嵁瀵煎叆")
+ @Transactional
+ public R matExcelImport(MultipartFile file) throws IOException {
+ PlaExcelListener listener = new PlaExcelListener(getUserId());
+ try {
+ EasyExcel.read(file.getInputStream(), PlaExcel.class, listener).sheet().doRead();
+ }catch (Exception e){
+ throw new CoolException("瀵煎叆鐨勬暟鎹牸寮忛敊璇紝鍘熷洜锛�" + e.getMessage());
+ }
+ return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉la鐗╂枡鏁版嵁");
+ }
+
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
String val = String.valueOf(entry.getValue());
@@ -132,6 +201,10 @@
String[] dates = val.split(RANGE_TIME_LINK);
wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+ }else if (entry.getKey().contains("Min")){
+ wrapper.ge(entry.getKey().substring(0,entry.getKey().length()-3),val);
+ }else if (entry.getKey().contains("Max")){
+ wrapper.le(entry.getKey().substring(0,entry.getKey().length()-3),val);
} else {
wrapper.like(entry.getKey(), val);
}
@@ -143,6 +216,7 @@
manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis());
manPakOut.setWrkSts((long)1);
manPakOut.setAnfme(plaQty.getOrderWeight());
+ manPakOut.setMaktx(plaQty.getBrand());
manPakOut.setLocNo(plaQty.getLocNo());
manPakOut.setBatch(plaQty.getBatch());
manPakOut.setBarcode(plaQty.getPackageNo());
@@ -152,6 +226,7 @@
manPakOut.setCount(0.0);
manPakOut.setDocNum(plaQty.getOrderNo());
manPakOut.setStatus(0);
+ manPakOut.setDocId(plaQty.getOrderDetlId());
manPakOut.setNodeId(plaQty.getId());
//manPakOut.setNodeId(plaQty.getOrderDetlId());
manPakOutService.insert(manPakOut);
diff --git a/src/main/java/com/zy/asrs/controller/PlaQtyController.java b/src/main/java/com/zy/asrs/controller/PlaQtyController.java
index 3e2ef0b..dee0d6c 100644
--- a/src/main/java/com/zy/asrs/controller/PlaQtyController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaQtyController.java
@@ -57,6 +57,9 @@
if (Cools.isEmpty(manPakOut.getStatus()) || manPakOut.getStatus() != 1) {
return false;
}
+ if(plaQty.getReturned() > 0){
+ return false;
+ }
return true;
}).collect(Collectors.toList());
@@ -86,6 +89,7 @@
map.put("id", plaQty.getId());
map.put("value", orderNo);
map.put("customer", plaQty.getCustomer());
+ map.put("type","returned");
result.add(map);
}
return R.ok(result);
diff --git a/src/main/java/com/zy/asrs/entity/Pla.java b/src/main/java/com/zy/asrs/entity/Pla.java
index e55fe3e..9b7a25b 100644
--- a/src/main/java/com/zy/asrs/entity/Pla.java
+++ b/src/main/java/com/zy/asrs/entity/Pla.java
@@ -1,13 +1,16 @@
package com.zy.asrs.entity;
+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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@@ -19,111 +22,175 @@
//鍏ュ簱鏃堕棿
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- @TableField("pakin_time")
- private String pakinTime;
+ private Date pakinTime;
- //鎵瑰彿
- @TableField("batch")
- private String batch;
+ //涓讳綋
+ @ExcelProperty(value = "涓讳綋")
+ @TableField("owner")
+ private String owner;
- //鍖呰鍙�
- @TableField("package_no")
- private String packageNo;
+ //涓讳綋
+ @ExcelProperty(value = "鐗╄祫绫诲埆")
+ @TableField("type")
+ private String type;
- //鐗屽彿
- @TableField("brand")
- private String brand;
-
- //閲嶉噺
- @TableField("weight")
- private Double weight;
+ //鐢熶骇璁㈠崟缂栧彿
+ @ExcelProperty(value = "鐢熶骇璁㈠崟缂栧彿")
+ @TableField("pro_order_no")
+ private String proOrderNo;
//杞﹂棿
+ @ExcelProperty(value = "鐢熶骇杞﹂棿")
@TableField("workshop")
private String workshop;
//鐢熶骇绾�
+ @ExcelProperty(value = "鐢熶骇绾�")
@TableField("line")
private String line;
+ //鐢熶骇绾�
+ @ExcelProperty(value = "瀛樿揣缂栫爜")
+ @TableField("matnr")
+ private String matnr;
+
+ //鐗屽彿
+ @ExcelProperty(value = "鐗屽彿")
+ @TableField("brand")
+ private String brand;
+
+ //鎵瑰彿
+ @TableField("batch")
+ @ExcelProperty(value = "鎵瑰彿")
+ private String batch;
+
+ //鍖呰鍙�
+ @TableField("package_no")
+ @ExcelProperty(value = "鍖呰鍙�")
+ private String packageNo;
+
+ //鍖呰鍙�
+ @ExcelProperty(value = "鐢熶骇鏃ユ湡")
+ @TableField("pro_date")
+ private String proDate;
+
+ //閲嶉噺
+ @TableField("weight")
+ @ExcelProperty(value = "閲嶉噺")
+ private Double weight;
+
+ @ApiModelProperty(value= "鍗曚綅")
+ @ExcelProperty(value = "鍗曚綅")
+ @TableField("unit")
+ private String unit;
+
//鍖呰绫诲瀷
@TableField("package_type")
+ @ExcelProperty(value = "鍖呰绫诲瀷")
private String packageType;
//鎵樼洏绫诲瀷
@TableField("zpallet_type")
+ @ExcelProperty(value = "鎵樼洏绫诲瀷")
private String zpalletType;
//缂犺啘
@TableField("film_wrap")
+ @ExcelProperty(value = "缂犺啘")
private String filmWrap;
//鐔旀寚
@TableField("finger_melting")
+ @ExcelProperty(value = "鐔旀寚")
private Double fingerMelting;
+
+ //姘村垎
+ @TableField("water")
+ @ExcelProperty(value = "姘村垎")
+ private Double water;
//鐔旂偣
@TableField("fusing_point")
+ @ExcelProperty(value = "鐔旂偣")
private Double fusingPoint;
//鎸ュ彂浠�1
@TableField("vadf1")
+ @ExcelProperty(value = "鎸ュ彂浠�1")
private Double vadf1;
//鎸ュ彂浠�2
@TableField("vadf2")
+ @ExcelProperty(value = "鎸ュ彂浠�2")
private Double vadf2;
//榛勫害
@TableField("yellowness")
+ @ExcelProperty(value = "榛勫害")
private Double yellowness;
//涓嶉�忔槑搴�
@TableField("opacity")
+ @ExcelProperty(value = "涓嶉�忔槑搴�")
private Double opacity;
-
- //姘村垎
- @TableField("water")
- private Double water;
//L鍊�
@TableField("l")
+ @ExcelProperty(value = "l鍊�")
private Double l;
//a鍊�
@TableField("a")
+ @ExcelProperty(value = "a鍊�")
private Double a;
//b鍊�
@TableField("b")
+ @ExcelProperty(value = "b鍊�")
private Double b;
//濉厖
@TableField("fill_in")
+ @ExcelProperty(value = "濉厖")
private Double fillIn;
//璐ㄩ噺鐘舵��
@TableField("mass_state")
+ @ExcelProperty(value = "璐ㄩ噺鐘朵綋")
private String massState;
//璐ㄩ噺闂
@TableField("problem")
+ @ExcelProperty(value = "澶囨敞")
private String problem;
- //浠撳簱
- @TableField("stash")
- private String stash;
+ //搴旂敤鏂瑰悜
+ @ExcelProperty(value = "搴旂敤鏂瑰悜")
+ @TableField("direction")
+ private String direction;
- //搴撲綅
- @TableField("loc_no")
- private String locNo;
+ //瀛樻斁浣嶇疆
+ @ExcelProperty(value = "瀛樻斁浣嶇疆")
+ @TableField("position")
+ private String position;
//鍓╀綑閲嶉噺
@TableField("weight_anfme")
+ @ExcelProperty(value = "鍏ュ簱閲�")
private Double weightAnfme = 0.0;
//寰呭嚭搴撴暟閲�
@TableField("qty_anfme")
private Double qtyAnfme = 0.0;
+
+ //浠撳簱
+ @TableField("stash")
+ //@ExcelProperty(value = "浠撳簱")
+ private String stash;
+
+ //搴撲綅
+ @TableField("loc_no")
+ //@ExcelProperty(value = "搴撲綅")
+ private String locNo;
//鐘舵��
@TableField("status")
@@ -168,4 +235,11 @@
@TableField("memo")
private String memo;
+
+ public String getPakinTime$() {
+ if (Cools.isEmpty(this.pakinTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pakinTime);
+ }
}
diff --git a/src/main/java/com/zy/asrs/entity/PlaLog.java b/src/main/java/com/zy/asrs/entity/PlaLog.java
new file mode 100644
index 0000000..f9b42ef
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/PlaLog.java
@@ -0,0 +1,245 @@
+package com.zy.asrs.entity;
+
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("asr_pla_detl_log")
+public class PlaLog {
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ //鍏ュ簱鏃堕棿
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date pakinTime;
+
+ //涓讳綋
+ @ExcelProperty(value = "涓讳綋")
+ @TableField("owner")
+ private String owner;
+
+ //涓讳綋
+ @ExcelProperty(value = "鐗╄祫绫诲埆")
+ @TableField("type")
+ private String type;
+
+ //鐢熶骇璁㈠崟缂栧彿
+ @ExcelProperty(value = "鐢熶骇璁㈠崟缂栧彿")
+ @TableField("pro_order_no")
+ private String proOrderNo;
+
+ //杞﹂棿
+ @ExcelProperty(value = "鐢熶骇杞﹂棿")
+ @TableField("workshop")
+ private String workshop;
+
+ //鐢熶骇绾�
+ @ExcelProperty(value = "鐢熶骇绾�")
+ @TableField("line")
+ private String line;
+
+ //鐢熶骇绾�
+ @ExcelProperty(value = "瀛樿揣缂栫爜")
+ @TableField("matnr")
+ private String matnr;
+
+ //鐗屽彿
+ @ExcelProperty(value = "鐗屽彿")
+ @TableField("brand")
+ private String brand;
+
+ //鎵瑰彿
+ @TableField("batch")
+ @ExcelProperty(value = "鎵瑰彿")
+ private String batch;
+
+ //鍖呰鍙�
+ @TableField("package_no")
+ @ExcelProperty(value = "鍖呰鍙�")
+ private String packageNo;
+
+ //鍖呰鍙�
+ @ExcelProperty(value = "鐢熶骇鏃ユ湡")
+ @TableField("pro_date")
+ private String proDate;
+
+ //閲嶉噺
+ @TableField("weight")
+ @ExcelProperty(value = "閲嶉噺")
+ private Double weight;
+
+ @ApiModelProperty(value= "鍗曚綅")
+ @ExcelProperty(value = "鍗曚綅")
+ @TableField("unit")
+ private String unit;
+
+ //鍖呰绫诲瀷
+ @TableField("package_type")
+ @ExcelProperty(value = "鍖呰绫诲瀷")
+ private String packageType;
+
+ //鎵樼洏绫诲瀷
+ @TableField("zpallet_type")
+ @ExcelProperty(value = "鎵樼洏绫诲瀷")
+ private String zpalletType;
+
+ //缂犺啘
+ @TableField("film_wrap")
+ @ExcelProperty(value = "缂犺啘")
+ private String filmWrap;
+
+ //鐔旀寚
+ @TableField("finger_melting")
+ @ExcelProperty(value = "鐔旀寚")
+ private Double fingerMelting;
+
+ //姘村垎
+ @TableField("water")
+ @ExcelProperty(value = "姘村垎")
+ private Double water;
+
+ //鐔旂偣
+ @TableField("fusing_point")
+ @ExcelProperty(value = "鐔旂偣")
+ private Double fusingPoint;
+
+ //鎸ュ彂浠�1
+ @TableField("vadf1")
+ @ExcelProperty(value = "鎸ュ彂浠�1")
+ private Double vadf1;
+
+ //鎸ュ彂浠�2
+ @TableField("vadf2")
+ @ExcelProperty(value = "鎸ュ彂浠�2")
+ private Double vadf2;
+
+ //榛勫害
+ @TableField("yellowness")
+ @ExcelProperty(value = "榛勫害")
+ private Double yellowness;
+
+ //涓嶉�忔槑搴�
+ @TableField("opacity")
+ @ExcelProperty(value = "涓嶉�忔槑搴�")
+ private Double opacity;
+
+ //L鍊�
+ @TableField("l")
+ @ExcelProperty(value = "l鍊�")
+ private Double l;
+
+ //a鍊�
+ @TableField("a")
+ @ExcelProperty(value = "a鍊�")
+ private Double a;
+
+ //b鍊�
+ @TableField("b")
+ @ExcelProperty(value = "b鍊�")
+ private Double b;
+
+ //濉厖
+ @TableField("fill_in")
+ @ExcelProperty(value = "濉厖")
+ private Double fillIn;
+
+ //璐ㄩ噺鐘舵��
+ @TableField("mass_state")
+ @ExcelProperty(value = "璐ㄩ噺鐘朵綋")
+ private String massState;
+
+ //璐ㄩ噺闂
+ @TableField("problem")
+ @ExcelProperty(value = "澶囨敞")
+ private String problem;
+
+ //搴旂敤鏂瑰悜
+ @ExcelProperty(value = "搴旂敤鏂瑰悜")
+ @TableField("direction")
+ private String direction;
+
+ //瀛樻斁浣嶇疆
+ @ExcelProperty(value = "瀛樻斁浣嶇疆")
+ @TableField("position")
+ private String position;
+
+ //鍓╀綑閲嶉噺
+ @TableField("weight_anfme")
+ @ExcelProperty(value = "鍏ュ簱閲�")
+ private Double weightAnfme = 0.0;
+ //寰呭嚭搴撴暟閲�
+ @TableField("qty_anfme")
+ private Double qtyAnfme = 0.0;
+
+ //浠撳簱
+ @TableField("stash")
+ //@ExcelProperty(value = "浠撳簱")
+ private String stash;
+
+ //搴撲綅
+ @TableField("loc_no")
+ //@ExcelProperty(value = "搴撲綅")
+ private String locNo;
+
+ //鐘舵��
+ @TableField("status")
+ private String status;
+
+ //姝ラ
+ @TableField("step")
+ private int step;
+
+ @TableField("create_time")
+ private Date createTime;
+
+ @TableField("modify_time")
+ private Date modifyTime;
+
+ @TableField("create_user")
+ private String createUser;
+
+ @TableField("modify_user")
+ private String modifyUser;
+
+ @TableField("order_no")
+ private String orderNo;
+
+ @TableField("pakout_time")
+ private String pakoutTime;
+
+ @TableField("order_weight")
+ private Double orderWeight;
+
+ @TableField("handler_by")
+ private String handlerBy;
+
+ @TableField("transfer")
+ private String transfer;
+
+ @TableField("customer")
+ private String customer;
+
+ @TableField("allocate")
+ private String allocate;
+
+ @TableField("memo")
+ private String memo;
+
+ public String getPakinTime$() {
+ if (Cools.isEmpty(this.pakinTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pakinTime);
+ }
+}
diff --git a/src/main/java/com/zy/asrs/entity/PlaQty.java b/src/main/java/com/zy/asrs/entity/PlaQty.java
index 59e06cb..274bed0 100644
--- a/src/main/java/com/zy/asrs/entity/PlaQty.java
+++ b/src/main/java/com/zy/asrs/entity/PlaQty.java
@@ -22,6 +22,9 @@
//鍖呰鍙�
private String packageNo;
+ //鐗屽彿
+ private String brand;
+
//鍗曟嵁鏄庣粏id
private Long orderDetlId;
@@ -61,7 +64,8 @@
@TableField("memo")
private String memo;
- private int returned;
+ //閫�鍥為噸閲�
+ private Double returned;
public PlaQty(String batch, String packageNo, Long orderDetlId, Long orderId, String orderNo, Double qtyAnfme, String locNo, Date createTime) {
this.batch = batch;
diff --git a/src/main/java/com/zy/asrs/entity/param/GlobleParameter.java b/src/main/java/com/zy/asrs/entity/param/GlobleParameter.java
new file mode 100644
index 0000000..dbf4d5f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/GlobleParameter.java
@@ -0,0 +1,9 @@
+package com.zy.asrs.entity.param;
+
+public class GlobleParameter {
+ public static final String PLA_STATUS_0 = "寰呭叆搴�";
+ public static final String PLA_STATUS_1 = "宸插叆搴�";
+ public static final String PLA_STATUS_2 = "寰呭嚭搴�";
+ public static final String PLA_STATUS_3 = "閮ㄥ垎鍑哄簱";
+ public static final String PLA_STATUS_4 = "鍏ㄩ儴鍑哄簱";
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java b/src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java
index c095080..6e073a9 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java
@@ -17,6 +17,19 @@
private String orderNo;
+ private Long cstmr;
+
+ private String cstmrName;
+
+ //瀹㈡埛鐢佃瘽
+ private String tel;
+
+ //璇ュ瓧娈典綔涓哄崟鎹殑瀹㈡埛鍦板潃鏄剧ず
+ private String number;
+
+ //璋冩嫧鍒�
+ private String itemName;
+
private List<OrderDetl> orderDetlList;
diff --git a/src/main/java/com/zy/asrs/mapper/PlaLogMapper.java b/src/main/java/com/zy/asrs/mapper/PlaLogMapper.java
new file mode 100644
index 0000000..4a951c0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/PlaLogMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.PlaLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface PlaLogMapper extends BaseMapper<PlaLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 408bed4..b9f0de4 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -54,7 +54,7 @@
R manDetlOriginOut(JSONObject json, User user);
- void plaPakin(String locNo, String batch, String packageNo);
+ void plaPakin(String locNo, String batch, String packageNo, User user);
void plaPakout(String locNo, String batch, String packageNo, String orderNo, String orderDetlId, String wrkNo,Double anfme);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 8eb61e2..cac22ca 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -41,4 +41,6 @@
Boolean checkAllDetlFinish(String orderNo);
Integer sameOrderComb(String orderNo, String matnr, String batch);
+
+ OrderDetl selectByOrderNoAndMaktx(String orderNo, String maktx);
}
diff --git a/src/main/java/com/zy/asrs/service/PlaLogService.java b/src/main/java/com/zy/asrs/service/PlaLogService.java
new file mode 100644
index 0000000..bf1af74
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/PlaLogService.java
@@ -0,0 +1,9 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.PlaLog;
+
+public interface PlaLogService extends IService<PlaLog> {
+
+
+}
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 56ac370..6b9f66b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -10,13 +10,11 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustNewParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.SaasUtils;
+import com.zy.asrs.utils.Utils;
import com.zy.common.model.DetlDto;
import com.zy.common.service.CommonService;
import com.zy.common.utils.Synchro;
@@ -1207,18 +1205,29 @@
}
@Override
- public void plaPakin(String locNo, String batch, String packageNo) {
+ public void plaPakin(String locNo, String batch, String packageNo,User user) {
Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo);
- if(!pla.getLocNo().equals(locNo)){
- throw new CoolException("璇ョ墿鏂欏叆搴撶殑搴撲綅閿欒");
+ if(Cools.isEmpty(pla)){
+ throw new CoolException("绯荤粺鏈娴嬪埌璇ュ寘鐗╂枡淇℃伅锛岃閲嶆柊褰曞叆");
}
- if("宸插叆搴�".equals(pla.getStatus())){
+
+ if(Cools.eq(GlobleParameter.PLA_STATUS_1,pla.getStatus())){
throw new CoolException("璇ョ墿鏂欏凡鍏ュ簱");
}
- pla.setStatus("宸插叆搴�");
+ pla.setStatus(GlobleParameter.PLA_STATUS_1);
pla.setModifyTime(new Date());
+ pla.setPakinTime(new Date());
+
+ Node node = nodeService.selectByUuid(locNo);
+ if(Cools.isEmpty(node)){
+ throw new CoolException("搴撲綅淇℃伅涓嶆纭�");
+ }
+
+ pla.setStash(node.getParentName());
+ pla.setLocNo(node.getUuid());
+
plaService.updateById(pla);
- SaasUtils.insertLog(0,locNo,batch+","+packageNo,pla.getWeightAnfme(),null);
+ SaasUtils.insertLog(0,locNo,batch+","+packageNo,pla.getWeightAnfme(),user.getUsername());
}
@Override
@@ -1243,6 +1252,10 @@
manPakOutService.updateById(manPakOut);
}
+ //鏇存柊plaQty淇℃伅
+ plaQty.setPakoutTime(Utils.getDateStr(new Date()));
+ plaQtyService.updateById(plaQty);
+
//鏇存柊pla鏄庣粏
pla.setWeightAnfme(pla.getWeightAnfme() - anfme);
pla.setQtyAnfme(pla.getQtyAnfme() - anfme);
@@ -1254,5 +1267,14 @@
plaService.updateById(pla);
SaasUtils.insertLog(1,locNo,batch+","+packageNo,anfme,null);
+ //鏇存柊璁㈠崟鏄庣粏
+ Order order = orderService.selectByNo(orderNo);
+ OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId());
+
+ orderDetl.setQty(orderDetl.getQty() + anfme);
+ orderDetlService.updateById(orderDetl);
+
+ orderService.checkComplete(orderNo);
+
}
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 2eeec3b..20541c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -110,4 +110,9 @@
Integer sum = this.baseMapper.sameOrderComb(orderNo, matnr, batch);
return sum != null ? sum : 0;
}
+
+ @Override
+ public OrderDetl selectByOrderNoAndMaktx(String orderNo, String maktx) {
+ return this.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("maktx",maktx));
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/PlaLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaLogServiceImpl.java
new file mode 100644
index 0000000..c52d40b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/PlaLogServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.PlaLog;
+import com.zy.asrs.mapper.PlaLogMapper;
+import com.zy.asrs.service.PlaLogService;
+import org.springframework.stereotype.Service;
+
+@Service("plaLogService")
+public class PlaLogServiceImpl extends ServiceImpl<PlaLogMapper, PlaLog> implements PlaLogService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
index 5843839..80f23d4 100644
--- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
@@ -7,9 +7,11 @@
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.Pla;
import com.zy.asrs.entity.PlaQty;
+import com.zy.asrs.entity.param.GlobleParameter;
import com.zy.asrs.mapper.PlaMapper;
import com.zy.asrs.service.PlaQtyService;
import com.zy.asrs.service.PlaService;
+import com.zy.asrs.utils.SaasUtils;
import com.zy.asrs.utils.Utils;
import com.zy.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +42,7 @@
if(!Cools.isEmpty(orderDetl.getBrand())){
wrapper.eq("package_no",orderDetl.getBrand());
}
- wrapper.eq("status","宸插叆搴�");
+ wrapper.eq("status", GlobleParameter.PLA_STATUS_1);
wrapper.ge("finger_melting", orderDetl.getFingerMeltingMin()).le("finger_melting", orderDetl.getFingerMeltingMax());
wrapper.ge("fusing_point", orderDetl.getFusingPointMin()).le("fusing_point", orderDetl.getFusingPointMax());
wrapper.ge("yellowness", orderDetl.getYellownessMin()).le("yellowness", orderDetl.getYellownessMax());
@@ -91,7 +93,11 @@
public void returned(List<PlaQty> plaQties, User user) {
plaQties.forEach(plaQty -> {
PlaQty plaQtyOut = plaQtyService.selectById(plaQty.getId());
- plaQtyOut.setReturned(1);
+ if(Cools.isEmpty(plaQtyOut.getReturned())){
+ plaQtyOut.setReturned(plaQty.getOrderWeight());
+ }else {
+ plaQtyOut.setReturned(plaQty.getOrderWeight()+plaQtyOut.getReturned());
+ }
plaQtyService.updateById(plaQtyOut);
PlaQty plaQtyReturned = new PlaQty();
@@ -101,17 +107,23 @@
plaQtyReturned.setLocNo(plaQtyOut.getLocNo());
plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo());
plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date()));
- plaQtyReturned.setOrderWeight(0 - plaQtyOut.getOrderWeight());
+ plaQtyReturned.setOrderWeight(plaQty.getOrderWeight());
+ plaQtyReturned.setTransfer("閫�鍥炲叆搴�");
plaQtyReturned.setHandlerBy(user.getUsername());
plaQtyReturned.setCustomer(plaQtyOut.getCustomer());
plaQtyReturned.setMemo(plaQty.getMemo());
plaQtyService.insert(plaQtyReturned);
+ //鐩存帴鏇存柊pla鐨勫簱瀛�
Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo());
- pla.setStatus("寰呭叆搴�");
+ //pla.setStatus(GlobleParameter.PLA_STATUS_0);
+ pla.setWeightAnfme(plaQty.getOrderWeight());
+ pla.setStatus(GlobleParameter.PLA_STATUS_1);
this.updateById(pla);
+ SaasUtils.insertLog(0,pla.getLocNo(),pla.getBatch()+","+pla.getPackageNo(),plaQty.getOrderWeight(),user.getUsername());
+
});
}
}
diff --git a/src/main/java/com/zy/asrs/task/OrderLogScheduler.java b/src/main/java/com/zy/asrs/task/OrderLogScheduler.java
index 163cf74..17d0517 100644
--- a/src/main/java/com/zy/asrs/task/OrderLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderLogScheduler.java
@@ -7,7 +7,6 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -23,7 +22,7 @@
@Value("${erp.enable}")
private boolean isERP;
- @Scheduled(cron = "0/10 * * * * ? ")
+ //@Scheduled(cron = "0/10 * * * * ? ")
private void execute(){
List<Order> orders = orderService.selectToBeHistoryOrder(isERP);
if (orders.isEmpty()) {
diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
new file mode 100644
index 0000000..b44a089
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -0,0 +1,97 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Pla;
+import com.zy.asrs.entity.param.GlobleParameter;
+import com.zy.asrs.service.PlaService;
+import com.zy.common.entity.MatExcel;
+import com.zy.common.entity.PlaExcel;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by vincent on 2019-11-25
+ */
+@Slf4j
+public class PlaExcelListener extends AnalysisEventListener<PlaExcel> {
+
+ private int total = 0;
+ private Long userId;
+
+ public PlaExcelListener() {
+ }
+
+ public PlaExcelListener(Long userId) {
+ this.userId = userId;
+ }
+
+ /**
+ * 姣忛殧5鏉″瓨鍌ㄦ暟鎹簱锛屽疄闄呬娇鐢ㄤ腑鍙互3000鏉★紝鐒跺悗娓呯悊list 锛屾柟渚垮唴瀛樺洖鏀�
+ */
+ private static final int BATCH_COUNT = 50;
+
+ private final List<MatExcel> list = new ArrayList<>();
+
+ /**
+ * 杩欓噷浼氫竴琛岃鐨勮繑鍥炲ご
+ */
+ @Override
+ public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
+ }
+
+ /**
+ * 杩欎釜姣忎竴鏉℃暟鎹В鏋愰兘浼氭潵璋冪敤
+ */
+ @Override
+ public void invoke(PlaExcel excel, AnalysisContext ctx) {
+ PlaService plaService = SpringUtils.getBean(PlaService.class);
+ Date now = new Date();
+
+ // 鍟嗗搧
+ if(Cools.isEmpty(excel.getBatch()) || Cools.isEmpty(excel.getPackageNo())){
+ return;
+ }
+ Pla pla = plaService.selectByBatchAndPackageNo(excel.getBatch(),excel.getPackageNo());
+ if (pla == null) {
+ pla = excel;
+ pla.setStep(2);
+ pla.setCreateTime(new Date());
+ pla.setStatus(GlobleParameter.PLA_STATUS_0);
+ if (!plaService.insert(pla)) {
+ throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
+ }
+ total++;
+ }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_0)){
+ excel.setId(pla.getId());
+ excel.setCreateTime(pla.getCreateTime());
+ excel.setModifyTime(pla.getModifyTime());
+ excel.setStep(2);
+ excel.setStatus(GlobleParameter.PLA_STATUS_0);
+ BeanUtils.copyProperties(excel,pla);
+ plaService.updateById(pla);
+ total++;
+ }
+ }
+
+ /**
+ * 鎵�鏈夋暟鎹В鏋愬畬鎴愪簡璋冪敤
+ * 閫傚悎浜嬪姟
+ */
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext ctx) {
+ log.info("鏂板{}鏉$墿鏂欎俊鎭紒", total);
+ }
+
+ public int getTotal() {
+ return total;
+ }
+}
diff --git a/src/main/java/com/zy/common/entity/PlaExcel.java b/src/main/java/com/zy/common/entity/PlaExcel.java
new file mode 100644
index 0000000..291d187
--- /dev/null
+++ b/src/main/java/com/zy/common/entity/PlaExcel.java
@@ -0,0 +1,16 @@
+package com.zy.common.entity;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.zy.asrs.entity.Pla;
+import lombok.Data;
+
+/**
+ * 0.A 1.B 2.C 3.D 4.E 5.F 6.G 7.H 8.I
+ * 9.J 10.K 11.L 12.M 13.N 14.O 15.P 16.Q 17.R 18.S
+ * 19.T 20.U 21.V 22.W 23.X 24.Y 25.Z
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class PlaExcel extends Pla {
+
+}
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index 995c3d9..b4a2dd6 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -169,6 +169,9 @@
column = field.getName();
}
if (!set.contains(column)) {
+ if(Cools.eq(column,"pakinTime")){
+ continue;
+ }
columns.add(column);
}
}
diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js
index 511bbd9..e3ae972 100644
--- a/src/main/webapp/static/js/cool.js
+++ b/src/main/webapp/static/js/cool.js
@@ -40,6 +40,9 @@
if(type){
inputDomVal = inputDomVal + "," + type;
}
+ if(getForeignKeyQuery(val) === 'orderDetlQuery'){
+ inputDomVal = inputDomVal + "," + $('#orderNo').val();
+ }
//debugger;
selectDom.length = 0;
var defaultOption = new Option("鍙栨秷閫夋嫨", "");
@@ -61,6 +64,9 @@
option.addr = list[i].addr;
option.phone = list[i].phone;
option.customer = list[i].customer;
+ option.allocate = list[i].allocate;
+ option.weight = list[i].weight;
+ option.type = list[i].type;
selectDom.options[i+1] = option;
}
selectDom.style.display='block';
@@ -99,18 +105,23 @@
} else {
cacd.val(selectOptionDom.html());
realDom.val(selectOptionDom.attr("title"));
- if(selectOptionDom[0].phone){
- $('#phone').val(selectOptionDom[0].phone);
+ if(selectOptionDom[0].type === "docType"){
+ $('#weight').val("");
+ $('#maktxV').val("");
}
- if(selectOptionDom[0].addr){
- $('#addr').val(selectOptionDom[0].addr);
+ if(selectOptionDom[0].type === "order" || selectOptionDom[0].type === "locOwner"){
+ $('#allocate').val(selectOptionDom[0].allocate ? selectOptionDom[0].allocate : "");
+ $('#customer').val(selectOptionDom[0].customer ? selectOptionDom[0].customer : "");
+ $('#phone').val(selectOptionDom[0].phone ? selectOptionDom[0].phone : "");
+ $('#addr').val(selectOptionDom[0].addr ? selectOptionDom[0].addr : "");
}
- if(selectOptionDom[0].customer){
- $('#customerR').val(selectOptionDom[0].customer);
+ if(selectOptionDom[0].type === "returned"){
+ $('#customer').val(selectOptionDom[0].customer ? selectOptionDom[0].customer : "");
tableReload();
+ }
- }else {
- $('#customerR').val("");
+ if(selectOptionDom[0].type === "orderDetl"){
+ $('#weight').val(selectOptionDom[0].weight);
}
}
inputDom.val("");
@@ -138,7 +149,7 @@
{field: 'id', title: 'id', hide:true},
{field: 'batch', title: '鎵瑰彿'},
{field: 'packageNo', title: '鍖呭彿'},
- {field: 'orderWeight', title: '閲嶉噺'}
+ {field: 'orderWeight', title: '閲嶉噺',edit:true}
]],
request: {
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index f6a94a8..5af334f 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -47,6 +47,8 @@
{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
{field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
{field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160},
+ {field: 'cstmrName', align: 'center',title: '瀹㈡埛鍚嶇О'},
+ {field: 'itemName', align: 'center',title: '璋冩嫧鍒�'},
{field: 'memo', align: 'center',title: '澶囨敞', hide: true},
{field: 'createBy$', align: 'center', title: '鎿嶄綔鍛�', minWidth: 160, width: 160},
{align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 260}
@@ -152,6 +154,8 @@
var data = obj.data;
var layEvent = obj.event;
+
+
if (layEvent === 'edit') {
showEditModel(data);
} else if (layEvent === 'del') {
@@ -188,24 +192,22 @@
cellMinWidth: 100,
cols: [[
{type: 'numbers'},
- // {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
- // {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
- //
- // {field: 'batch', title: '鎵瑰彿'},
- {field: 'batch', title: '鎵规'},
- {field: 'brand', title: '鐗屽彿'},
- {field: 'fingerMeltingMin', title: '鏈�灏忕啍鎸�'},
- {field: 'fingerMeltingMax', title: '鏈�澶х啍鎸�'},
- {field: 'fusingPointMin', title: '鏈�灏忕啍鐐�'},
- {field: 'fusingPointMax', title: '鏈�澶х啍鐐�'},
- {field: 'yellownessMin', title: '鏈�灏忛粍搴�'},
- {field: 'yellownessMax', title: '鏈�澶ч粍搴�'},
- {field: 'opacityMin', title: '鏈�灏忎笉閫忔槑搴�'},
- {field: 'opacityMax', title: '鏈�澶т笉閫忔槑搴�'},
+ {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+ {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+
+ {field: 'batch', title: '鎵瑰彿'},
{field: 'anfme', title: '鏁伴噺'},
{field: 'workQty', title: '浣滀笟鏁伴噺'},
{field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
-
+ // {field: 'unit', title: '鍗曚綅'},
+ // {
+ // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
+ // return util.toDateString(d.createTime);
+ // }, width: 180
+ // },
+ // {field: 'inQty', title: '宸插叆搴撻噺'},
+ // {field: 'color', title: '棰滆壊'},
+ // {field: 'specs', title: '瑙勬牸'},
]],
request: {
pageName: 'curr',
@@ -260,10 +262,6 @@
let nList = admin.util.deepClone(xxDataList);
console.log(nList);
for (let xi = 0; xi < nList.length; xi++) {
- if(!nList[xi].anfme){
- layer.msg('鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
- return false;
- }
if (nList[xi].anfme <= 0){
layer.msg('鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
return false;
@@ -286,6 +284,11 @@
orderId: Number(data.field.id),
docType: Number(data.field.docType),
orderNo: data.field.orderNo,
+ cstmr: data.field.cstmr,
+ cstmrName: data.field.cstmrName,
+ tel: data.field.tel,
+ number: data.field.number,
+ itemName: data.field.itemName,
orderDetlList: nList
}),
contentType:'application/json;charset=UTF-8',
@@ -316,24 +319,14 @@
cellMinWidth: 100,
cols: [[
{type: 'numbers', title: '#'},
- // {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
- // {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
- // {field: 'specs', title: '瑙勬牸'},
+ {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+ {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
+ {field: 'specs', title: '瑙勬牸'},
{field: 'batch', title: '鎵规', edit: true},
- {field: 'brand', title: '鐗屽彿', edit: true},
- {field: 'fingerMeltingMin', title: '鏈�灏忕啍鎸�', edit: true},
- {field: 'fingerMeltingMax', title: '鏈�澶х啍鎸�', edit: true},
- {field: 'fusingPointMin', title: '鏈�灏忕啍鐐�', edit: true},
- {field: 'fusingPointMax', title: '鏈�澶х啍鐐�', edit: true},
- {field: 'yellownessMin', title: '鏈�灏忛粍搴�', edit: true},
- {field: 'yellownessMax', title: '鏈�澶ч粍搴�', edit: true},
- {field: 'opacityMin', title: '鏈�灏忎笉閫忔槑搴�', edit: true},
- {field: 'opacityMax', title: '鏈�澶т笉閫忔槑搴�', edit: true},
-
- {field: 'anfme', title: '閲嶉噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
+ {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
// {field: 'payment', title: '璐х墿鐘舵��',align: 'center', templet: '#payment'},
- {field: 'qty', title: '浣滀笟閲嶉噺', minWidth: 100, width: 100},
+ {field: 'qty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100},
// {field: 'unit', title: '鍗曚綅', width: 80},
{field: 'memo', title: '澶囨敞' , edit: true},
{align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
@@ -435,7 +428,7 @@
}
}
data[obj.field] = obj.value;
- insTbSSXM.reloadData({data: xxDataList,scrollPos: true});
+ insTbSSXM.reloadData({data: xxDataList,scrollPos: true});
});
$('#matAddBtnComment').click(function () {
@@ -444,9 +437,6 @@
// 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥
function showEditModel2(exp) {
- xxDataList.push({});
- insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
- return;
admin.open({
type: 1,
offset: '150px',
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 6c3bd2e..21099b0 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -30,23 +30,15 @@
height: 'full-120',
where: {order_id: 9999999999},
cols: [[
- {type: 'checkbox'},
- {type: 'numbers', title: '#'},
- {field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
- {field: 'fingerMeltingMin', title: '鏈�灏忕啍鎸�'},
- {field: 'fingerMeltingMax', title: '鏈�澶х啍鎸�'},
- {field: 'fusingPointMin', title: '鏈�灏忕啍鐐�'},
- {field: 'fusingPointMax', title: '鏈�澶х啍鐐�'},
- {field: 'yellownessMin', title: '鏈�灏忛粍搴�'},
- {field: 'yellownessMax', title: '鏈�澶ч粍搴�'},
- {field: 'opacityMin', title: '鏈�灏忎笉閫忔槑搴�'},
- {field: 'opacityMax', title: '鏈�澶т笉閫忔槑搴�'},
- // ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
- // ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
+ {type: 'checkbox'}
+ ,{type: 'numbers', title: '#'}
+ ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
,{field: 'anfme', align: 'center',title: '鎬绘暟閲�', style: 'font-weight: bold'}
,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
- // ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
- // ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
+ ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true}
,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160}
]],
request: {
@@ -152,16 +144,13 @@
cols: [[
// {type: 'checkbox', merge: ['orderNo']},
{field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
- {field: 'batch', title: '鎵瑰彿', merge: true, align: 'center'},
- {field: 'packageNo', title: '鍖呭彿', align: 'center'},
- {field: 'orderDetlId', title: 'id', align: 'center',hide:true},
- {field: 'qtyAnfme', title: '鍑哄簱鏁伴噺', align: 'center'},
- {field: 'locNo', title: '搴撲綅鍙�', align: 'center',templet: '#locNoTpl'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'hostId', title: 'id', align: 'center'},
// { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'},
// {field: 'anfme', title: '瀹為檯鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
- // { title: '鍑哄簱鏁伴噺', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'},
- // {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
- // {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+ { title: '鍑哄簱鏁伴噺', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'},
+ {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+ {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
// {type: 'checkbox', merge: ['locNo']},
]],
done: function (res) {
diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js
index 1962af6..2bae082 100644
--- a/src/main/webapp/static/js/pla/plaDetl.js
+++ b/src/main/webapp/static/js/pla/plaDetl.js
@@ -6,65 +6,88 @@
var data = [];
var checkStatus = [];
var dataCheck = [];
+var admin;
function getCol() {
var cols = [
{field: 'id', title: 'id', align: 'center',hide:true}
,{type: 'checkbox'}
- ,{field: 'pakinTime', title: '鍏ュ簱鏃堕棿', align: 'center'}
- ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
- ,{field: 'packageNo', align: 'center',title: '鍖呭彿'}
- ,{field: 'brand', align: 'center',title: '鐗屽彿'}
- ,{field: 'weight', align: 'center',title: '閲嶉噺锛圞G锛�', hide:true}
- ,{field: 'workshop', align: 'center',title: '鐢熶骇杞﹂棿', hide:true}
- ,{field: 'line', align: 'center',title: '鐢熶骇绾�', hide:true}
- ,{field: 'packageType', align: 'center',title: '鍖呰绫诲瀷'}
- ,{field: 'zpalletType', align: 'center',title: '鎵樼洏绫诲瀷'}
- ,{field: 'filmWrap', align: 'center',title: '缂犺啘', edit: true}
- ,{field: 'fingerMelting', align: 'center',title: '鐔旀寚锛坓/10min锛�'}
- ,{field: 'fusingPoint', align: 'center',title: '鐔旂偣锛堚剝锛�'}
- ,{field: 'vadf1', align: 'center',title: '鎸ュ彂浠�1锛�%锛�', hide:true}
- ,{field: 'vadf2', align: 'center',title: '鎸ュ彂浠�2锛�%锛�', hide:true}
- ,{field: 'yellowness', align: 'center',title: '榛勫害', hide:true}
- ,{field: 'opacity', align: 'center',title: '涓嶉�忔槑搴︼紙0-100%锛�', hide:true}
- ,{field: 'water', align: 'center',title: '姘村垎锛坧pm锛�', hide:true}
- ,{field: 'l', align: 'center',title: 'l鍊�', edit: true, hide:true}
- ,{field: 'a', align: 'center',title: 'a鍊�', edit: true, hide:true}
- ,{field: 'b', align: 'center',title: 'b鍊�', edit: true, hide:true}
- ,{field: 'fillIn', align: 'center',title: '濉厖(%)', edit: true}
- ,{field: 'massState', align: 'center',title: '璐ㄩ噺鐘舵��', hide:true}
- ,{field: 'problem', align: 'center',title: '璐ㄩ噺闂', hide:true}
- ,{field: 'stash', align: 'center',title: '浠撳簱', edit:true}
- ,{field: 'locNo', align: 'center',title: '搴撲綅', edit:true}
- ,{field: 'weightAnfme', align: 'center',title: '鍓╀綑閲嶉噺锛圞G锛�', edit:true}
- ,{field: 'status', align: 'center',title: '鐘舵��', edit:true}
- ,{align: 'center', title: '鏄庣粏', toolbar: '#tbLook'}
- ,{field: 'orderNo', align: 'center',title: '鍗曞彿', edit:true}
- ,{field: 'pakoutTime', align: 'center',title: '鍑哄簱鏃堕棿', edit:true}
- ,{field: 'orderWeight', align: 'center',title: '閲嶉噺', edit:true}
- ,{field: 'handlerBy', align: 'center',title: '缁忓姙浜�', edit:true}
- ,{field: 'transfer', align: 'center',title: '娴佽浆褰㈠紡', edit:true}
- ,{field: 'customer', align: 'center',title: '瀹㈡埛鍚嶇О', edit:true}
- ,{field: 'allocate', align: 'center',title: '璋冩嫧鍒�', edit:true}
- ,{field: 'memo', align: 'center',title: '澶囨敞', edit:true}
+ ,{field: 'pakinTime$', title: '鍏ュ簱鏃堕棿', align: 'center'}
+ ,{field: 'owner', align: 'center',title: '涓讳綋',edit:true}
+ ,{field: 'type', align: 'center',title: '鐗╄祫绫诲埆',hide:true,edit:true}
+ ,{field: 'proOrderNo', align: 'center',title: '鍗曞彿',hide:true,edit:true}
+ ,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜',hide:true,edit:true}
+ ,{field: 'batch', align: 'center',title: '鎵瑰彿',edit:true}
+ ,{field: 'packageNo', align: 'center',title: '鍖呭彿',edit:true}
+ ,{field: 'brand', align: 'center',title: '鐗屽彿',edit:true}
+ ,{field: 'weight', align: 'center',title: '閲嶉噺锛圞G锛�',edit:true}
+ ,{field: 'workshop', align: 'center',title: '鐢熶骇杞﹂棿',hide:true,edit:true}
+ ,{field: 'line', align: 'center',title: '鐢熶骇绾�',hide:true,edit:true}
+ ,{field: 'proDate', align: 'center',title: '鐢熶骇鏃ユ湡',edit:true}
+ ,{field: 'packageType', align: 'center',title: '鍖呰绫诲瀷',edit:true}
+ ,{field: 'zpalletType', align: 'center',title: '鎵樼洏绫诲瀷',edit:true}
+ ,{field: 'filmWrap', align: 'center',title: '缂犺啘',edit:true}
+ ,{field: 'fingerMelting', align: 'center',title: '鐔旀寚锛坓/10min锛�',edit:true}
+ ,{field: 'fusingPoint', align: 'center',title: '鐔旂偣锛堚剝锛�',edit:true}
+ ,{field: 'vadf1', align: 'center',title: '鎸ュ彂浠�1锛�%锛�', hide:true,edit:true}
+ ,{field: 'vadf2', align: 'center',title: '鎸ュ彂浠�2锛�%锛�', hide:true,edit:true}
+ ,{field: 'yellowness', align: 'center',title: '榛勫害',edit:true}
+ ,{field: 'opacity', align: 'center',title: '涓嶉�忔槑搴︼紙0-100%锛�',edit:true}
+ ,{field: 'water', align: 'center',title: '姘村垎锛坧pm锛�', hide:true,edit:true}
+ ,{field: 'l', align: 'center',title: 'l鍊�', hide:true,edit:true}
+ ,{field: 'a', align: 'center',title: 'a鍊�', hide:true,edit:true}
+ ,{field: 'b', align: 'center',title: 'b鍊�', hide:true,edit:true}
+ ,{field: 'fillIn', align: 'center',title: '濉厖(%)',hide:true,edit:true}
+ ,{field: 'massState', align: 'center',title: '璐ㄩ噺鐘舵��',edit:true}
+ ,{field: 'problem', align: 'center',title: '澶囨敞',edit:true}
+ ,{field: 'stash', align: 'center',title: '浠撳簱',edit:true}
+ ,{field: 'locNo', align: 'center',title: '搴撲綅',edit:true}
+ ,{field: 'weightAnfme', align: 'center',title: '鍓╀綑閲嶉噺锛圞G锛�',edit:true}
+ ,{field: 'qtyAnfme', align: 'center',title: '寰呭嚭搴撻噸閲忥紙KG锛�',hide:true}
+ ,{field: 'status', align: 'center',title: '鐘舵��', templet: setState ,edit:true}
+ ,{align: 'center', title: '娴佽浆鏄庣粏', toolbar: '#tbLook'}
+ ,{field: 'orderNo', align: 'center',title: '鍗曞彿', hide:true}
+ ,{field: 'pakoutTime', align: 'center',title: '鍑哄簱鏃堕棿', hide:true}
+ ,{field: 'orderWeight', align: 'center',title: '閲嶉噺', hide:true}
+ ,{field: 'handlerBy', align: 'center',title: '缁忓姙浜�', hide:true}
+ ,{field: 'transfer', align: 'center',title: '娴佽浆褰㈠紡', hide:true}
+ ,{field: 'customer', align: 'center',title: '瀹㈡埛鍚嶇О', hide:true}
+ ,{field: 'allocate', align: 'center',title: '璋冩嫧鍒�', hide:true}
+ ,{field: 'memo', align: 'center',title: '澶囨敞', hide:true}
];
return cols;
}
+function setState(data){
+ if(data.status === "寰呭叆搴�"){
+ return "<span style='color: orange'>寰呭叆搴�</span>"
+ }else if(data.status === "宸插叆搴�"){
+ return "<span style='color: blue'>宸插叆搴�</span>"
+ }else if(data.status === "寰呭嚭搴�"){
+ return "<span style='color: red'>寰呭嚭搴�</span>"
+ }else if(data.status === "閮ㄥ垎鍑哄簱"){
+ return "<span style='color: black'>閮ㄥ垎鍑哄簱</span>"
+ }else if(data.status === "鍏ㄩ儴鍑哄簱"){
+ return "<span style='color: gray'>鍏ㄩ儴鍑哄簱</span>"
+ }
+}
+
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function() {
+}).extend({
+ dropdown: 'dropdown/dropdown',
+}).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
var layDate = layui.laydate;
var form = layui.form;
- var admin = layui.admin;
+ admin = layui.admin;
// 鏁版嵁娓叉煋
tableIns = table.render({
elem: '#plaDetl',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/pla/list/auth?step=3',
+ url: baseUrl+'/pla/list/auth?step=2',
page: true,
limit: 16,
limits: [16, 30, 50, 100, 200, 500],
@@ -119,7 +142,7 @@
type: 1,
title: false,
area: '1200px',
- offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
+ offset: ['600px', (left - 1200 + $a.outerWidth()) + 'px'],
shade: .01,
shadeClose: true,
fixed: false,
@@ -168,6 +191,41 @@
});
}
});
+
+ }
+ })
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(plaDetl)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id)
+ switch(obj.event) {
+ case 'updateData':
+ var data = checkStatus.data;
+ if (data.length === 0){
+ layer.msg('璇烽�夋嫨鏁版嵁');
+ } else {
+ layer.confirm('纭畾淇敼'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
+ $.ajax({
+ url: baseUrl+"/pla/update/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(data),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ traditional:true,
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ tableReload(false);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ });
+ }
+ break;
}
})
@@ -259,7 +317,6 @@
layer.msg("鏈夋湭濉啓瀛楁");
return;
}
- data[i].step = 3;
dataSave.push(data[i]);
}else {
dataOld.push(data[i]);
@@ -371,13 +428,22 @@
$(document).on('click','#sellout', function () {
- let data = table.cache.plaDetl;
- let dataSave = [];
- let dataOld = [];
+ var data = table.cache.plaDetl;
+ var dataSave = [];
+ var dataOld = [];
+ var brand;
+
for(var i=0; i<data.length; i++){
if(data[i].LAY_CHECKED){
- if(data[i].status === "寰呭叆搴�" || data[i].status === "鍏ㄩ儴鍑哄簱"){
- layer.msg("閫変腑鐨勬槑缁嗚繕鏈叆搴撴垨鑰呭凡鍏ㄩ儴鍑哄簱锛岃閲嶆柊閫夋嫨");
+ if(data[i].status === "寰呭叆搴�" || data[i].status === "鍏ㄩ儴鍑哄簱"|| data[i].weightAnfme <= data[i].qtyAnfme){
+ layer.msg("閫変腑鐨勬槑缁嗚繕鏈叆搴撴垨鑰呭凡鍏ㄩ儴鍑哄簱鎴栬�呮病鏈夊墿浣欏彲鍑洪噸閲忥紝璇烽噸鏂伴�夋嫨");
+ return;
+ }
+
+ brand = brand ? brand : data[i].brand;
+
+ if( brand != data[i].brand){
+ layer.msg("閫変腑鐨勬槑缁嗕腑鍚湁澶氱鐗屽彿锛岃閲嶆柊閫夋嫨");
return;
}
dataSave.push(data[i]);
@@ -391,20 +457,16 @@
layer.msg("鏈嬀閫夛紝璇峰厛鍕鹃�夐渶瑕佹洿鏀圭殑搴撳瓨");
return;
}
- if(dataSave.length > 1){
- layer.msg("璇峰嬀閫変竴鏉″簱瀛樻槑缁�");
- return;
- }
layer.open({
type: 2,
- title: '鍗栧嚭',
+ title: '鍑哄簱',
maxmin: true,
area: ['800px', top.detailHeight],
shadeClose: false,
content: 'sellout.html',
success: function(layero, index){
- layer.getChildFrame('#data-detail-submit-edit', index).hide();
+ //layer.getChildFrame('#data-detail-submit-edit', index).hide();
top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
@@ -449,7 +511,7 @@
shadeClose: false,
content: 'pickup.html',
success: function(layero, index){
- layer.getChildFrame('#data-detail-submit-edit', index).hide();
+ //layer.getChildFrame('#data-detail-submit-edit', index).hide();
top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
@@ -483,4 +545,58 @@
parent.layer.closeAll();
});
+// excel瀵煎叆妯℃澘涓嬭浇
+function excelMouldDownload(){
+ layer.load(1, {shade: [0.1,'#fff']});
+ location.href = baseUrl + "/pla/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 + "/pla/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});
+}
+
diff --git a/src/main/webapp/static/js/pla/waitingPakin.js b/src/main/webapp/static/js/pla/waitingPakin.js
index 09674cd..7e172fa 100644
--- a/src/main/webapp/static/js/pla/waitingPakin.js
+++ b/src/main/webapp/static/js/pla/waitingPakin.js
@@ -143,7 +143,6 @@
layer.msg("鏈夋湭濉啓瀛楁");
return;
}
- data[i].step = 3;
data[i].status = "寰呭叆搴�";
data[i].weightAnfme = data[i].weight;
dataSave.push(data[i]);
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 54446b4..6777d35 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
- <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
<!-- <link rel="stylesheet" href="../../static/css/common.css" media="all">-->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
@@ -89,16 +89,16 @@
<script type="text/html" id="operate">
<a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="printExcel">瀵煎嚭Excel</a>
{{# if (d.settle == 0 || d.settle == 1) { }}
- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
- <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
+ <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
{{# } }}
{{# if (d.settle == 2) { }}
<a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
{{# } }}
-<!-- {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}-->
-<!-- <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>-->
-<!-- {{# } }}-->
+ <!-- {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}-->
+ <!-- <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>-->
+ <!-- {{# } }}-->
<a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
</script>
<!-- 琛ㄦ牸鎿嶄綔鍒� -->
@@ -149,7 +149,43 @@
<label class="layui-form-label">鍗曟嵁缂栧彿锛�</label>
<div class="layui-input-block">
<input id="orderNo" name="orderNo" placeholder="杈撳叆鍗曟嵁缂栧彿" type="text" class="layui-input" maxlength="20" lay-verType="tips" />
-<!-- lay-verify="required"-->
+ <!-- lay-verify="required"-->
+ </div>
+ </div>
+ <div class="layui-form-item" >
+ <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+ <div class="layui-input-block cool-auto-complete">
+ <input id="customer" name="cstmr" class="layui-input" type="text" style="display: none" >
+ <input id="customerV" name="cstmrName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="locOwnerQueryBylocOwner" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="locOwnerQueryBylocOwnerSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item" >
+ <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+ <div class="layui-input-block">
+ <input id="phone" name="tel" class="layui-input" type="text" readonly="readonly">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
+ <div class="layui-input-block">
+ <input id="addr" name="number" class="layui-input" type="text" readonly="readonly">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">璋冩嫧鍒般��锛�</label>
+ <div class="layui-input-block cool-auto-complete">
+ <input id="allocate" name="itemName" class="layui-input" type="text" style="display: none">
+ <input id="allocateV" name="itemName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="configTypeQueryByAllocate" data-value="allocate" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="configTypeQueryByAllocateSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
</div>
</div>
<div class="layui-form-item" style="position: relative;">
@@ -178,7 +214,7 @@
<form id="matEditForm" lay-filter="matEditForm" class="layui-form model-form">
<input name="experimentId" type="hidden"/>
<div class="layui-form-item" style="float: left">
- <label class="layui-form-label">鎵瑰彿 - 澶氶��</label>
+ <label class="layui-form-label">鐗╂枡 - 澶氶��</label>
<div class="layui-input-block">
<div id="mat" name="mat">
</div>
diff --git a/src/main/webapp/views/order/out.html b/src/main/webapp/views/order/out.html
index 3ee53da..fa3d1c1 100644
--- a/src/main/webapp/views/order/out.html
+++ b/src/main/webapp/views/order/out.html
@@ -175,13 +175,13 @@
<script type="text/html" id="tbBasicTbStaNos">
<div class="ew-select-fixed">
{{#if (d.manu!='骞冲簱') {}}
- <select class="order-sta-select" lay-filter="tbBasicTbStaNos">
- {{#if (d.staNos!=null) {}}
- {{# for(let i=0; i<d.staNos.length; i++) { }}
- <option value="{{d.staNos[i]}}">{{d.staNos[i]}}</option>
- {{# } }}
- {{# } }}
- </select>
+ <select class="order-sta-select" lay-filter="tbBasicTbStaNos">
+ {{#if (d.staNos!=null) {}}
+ {{# for(let i=0; i<d.staNos.length; i++) { }}
+ <option value="{{d.staNos[i]}}">{{d.staNos[i]}}</option>
+ {{# } }}
+ {{# } }}
+ </select>
{{# } }}
</div>
</script>
@@ -196,7 +196,7 @@
<script type="text/html" id="locNoTpl">
<span name="locNo"
- {{# if( d.locNo){ }}
+ {{# if( d.lack === false){ }}
class="layui-badge layui-badge-green" >{{d.locNo}}</span>
{{# } else { }}
class="layui-badge layui-badge-red" >搴撳瓨涓嶈冻</span>
diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html
index 98b7af6..4391965 100644
--- a/src/main/webapp/views/pla/plaDetl.html
+++ b/src/main/webapp/views/pla/plaDetl.html
@@ -9,7 +9,7 @@
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
<link rel="stylesheet" href="../../static/css/cool.css" media="all">
- <link rel="stylesheet" href="../../static/css/common.css" media="all">
+
<style>
html {
height: 100%;
@@ -27,7 +27,7 @@
.layui-card-header {
border-bottom: none;
}
- #search-box {
+ .search-box {
padding: 30px 0 10px 0;
}
#search-box .layui-inline:first-child {
@@ -109,49 +109,120 @@
<!-- 鍔熻兘鍖� -->
<div class="function-area">
- <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>
+<!-- <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>-->
<button id="updateZpallet" style="alignment: right" class="function-btn1">鎹㈠寘瑁�/鎵樼洏/缂犺啘</button> |
- <button id="sellout" style="alignment: right" class="function-btn">鍗栧嚭</button>
- <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button> |
+ <button id="sellout" style="alignment: right" class="function-btn">鍑哄簱</button>
+<!-- <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button> |-->
<button id="returned" style="alignment: right" class="function-btn">閫�鍥�</button>
</div>
<!-- 鎼滅储鏍� -->
-<div id="search-box" class="layui-form layui-card-header">
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+<div id="search-box" >
+ <div class="layui-form layui-card-header">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+ </div>
</div>
- </div>
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="package_no" placeholder="鍖呭彿" autocomplete="off">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="package_no" placeholder="鍖呭彿" autocomplete="off">
+ </div>
</div>
- </div>
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="brand" placeholder="鐗屽彿" autocomplete="off">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="brand" placeholder="鐗屽彿" autocomplete="off">
+ </div>
</div>
- </div>
- <!-- <div class="layui-inline">-->
- <!-- <div class="layui-input-inline">-->
- <!-- <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">-->
- <!-- </div>-->
- <!-- </div>-->
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="status" placeholder="鐘舵��" autocomplete="off">
+ </div>
</div>
- </div>
+ <!-- <div class="layui-inline">-->
+ <!-- <div class="layui-input-inline">-->
+ <!-- <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
- <!-- 寰呮坊鍔� -->
- <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
- <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
- <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
- <!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
+ <!-- 寰呮坊鍔� -->
+ <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
+ <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+ <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+ <!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
+ </div>
+ </div>
+ <div class="layui-form layui-card-header">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="fusing_pointMax" placeholder="鏈�澶х啍鐐�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="yellownessMin" placeholder="鏈�灏忛粍搴�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="yellownessMax" placeholder="鏈�澶ч粍搴�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+ </div>
+ </div>
</div>
</div>
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData" style="display: none">鍒犻櫎</button>
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-update" lay-event="updateData" style="display: none">淇敼</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>
+ <hr>
+ <li class="title">2nd menu</li>
+ <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>
+ </ul>
+ </div>
+ <!-- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;margin-right: -10px">瀵煎嚭</button>-->
+ </div>
+</script>
+
<!-- 琛� -->
<script type="text/html" id="operate">
@@ -164,7 +235,7 @@
<script type="text/html" id="tbLook">
<span class="layui-text">
<a href="javascript:;" lay-event="look">
- <i class="layui-icon" style="font-size: 12px;"></i> 鏇村
+ <i class="layui-icon" style="font-size: 12px;"></i> 鏌ョ湅鏄庣粏
</a>
</span>
</script>
diff --git a/src/main/webapp/views/pla/returned.html b/src/main/webapp/views/pla/returned.html
index 3868a55..66967dc 100644
--- a/src/main/webapp/views/pla/returned.html
+++ b/src/main/webapp/views/pla/returned.html
@@ -28,9 +28,9 @@
</div>
</div>
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>瀹㈡埛鍚嶇О锛�</label>
+ <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
<div class="layui-input-inline">
- <input id="customerR" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+ <input id="customer" class="layui-input" type="text" readonly="readonly">
</div>
</div>
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
@@ -126,7 +126,6 @@
// 鏁版嵁淇敼鍔ㄤ綔
form.on('submit(save)', function () {
- debugger
let data = table.cache.formSSXMTable;
let dataSave = [];
for(var i in data){
diff --git a/src/main/webapp/views/pla/sellout.html b/src/main/webapp/views/pla/sellout.html
index 0341eea..72e7672 100644
--- a/src/main/webapp/views/pla/sellout.html
+++ b/src/main/webapp/views/pla/sellout.html
@@ -17,54 +17,65 @@
<form id="detail" class="layui-form" style="text-align: center">
<div class="layui-form layui-card-header">
<div class="layui-inline" style="width:83%;margin-top: 0px;margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟鍙枫��锛�</label>
- <div class="layui-input-inline">
- <input id="orderNo" class="layui-input" type="text" lay-verify="required" >
- </div>
- </div>
- <div class="layui-inline" style="width:40%;margin-top: 0px;margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>瀹㈡埛鍚嶇О锛�</label>
+ <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟銆�鍙凤細</label>
<div class="layui-input-inline cool-auto-complete">
- <input id="customer" class="layui-input" type="text" style="display: none" lay-verify="required">
- <input id="customerV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+ <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+ <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
<div class="cool-auto-complete-window">
- <input class="cool-auto-complete-window-input" data-key="locOwnerQueryBylocOwner" onkeyup="autoLoad(this.getAttribute('data-key'))">
- <select class="cool-auto-complete-window-select" data-key="locOwnerQueryBylocOwnerSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
</select>
</div>
</div>
</div>
<div class="layui-inline" style="width:40%;margin-top: 0px;margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>瀹㈡埛鐢佃瘽锛�</label>
+ <label class="layui-form-label"><span class="not-null">*</span>鐗屻��銆�鍙凤細</label>
+ <div class="layui-input-inline cool-auto-complete">
+ <input id="maktx" class="layui-input" type="text" style="display: none" lay-verify="required">
+ <input id="maktxV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="orderDetlQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="orderDetlQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="layui-inline" style="width:40%; margin-bottom: 5px;">
+ <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟閲嶉噺锛�</label>
<div class="layui-input-inline">
- <input id="phone" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+ <input id="weight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+ </div>
+ </div>
+ <div class="layui-inline" style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+ <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+ <div class="layui-input-inline">
+ <input id="customer" class="layui-input" type="text" readonly="readonly">
+ </div>
+ </div>
+ <div class="layui-inline" style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+ <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+ <div class="layui-input-inline">
+ <input id="phone" class="layui-input" type="text" readonly="readonly">
</div>
</div>
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>瀹㈡埛鍦板潃锛�</label>
+ <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
<div class="layui-input-inline">
- <input id="addr" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+ <input id="addr" class="layui-input" type="text" readonly="readonly">
</div>
</div>
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
<label class="layui-form-label"><span class="not-null">*</span>鍙戣揣閲嶉噺锛�</label>
<div class="layui-input-inline">
- <input id="weight" class="layui-input" type="text" lay-verify="required" placeholder="KG">
+ <input id="qtyWeight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
</div>
</div>
</div>
-
<div class="layui-form layui-card-header">
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
- <label class="layui-form-label"><span class="not-null">*</span>璋冩嫧鍒般��锛�</label>
- <div class="layui-input-inline cool-auto-complete">
- <input id="allocate" class="layui-input" type="text" style="display: none" lay-verify="required">
- <input id="allocateV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
- <div class="cool-auto-complete-window">
- <input class="cool-auto-complete-window-input" data-key="configTypeQueryByAllocate" data-value="allocate" onkeyup="autoLoad(this.getAttribute('data-key'))">
- <select class="cool-auto-complete-window-select" data-key="configTypeQueryByAllocateSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
- </select>
- </div>
+ <label class="layui-form-label">璋冩嫧銆�鍒帮細</label>
+ <div class="layui-input-inline">
+ <input id="allocate" class="layui-input" type="text" readonly="readonly">
</div>
</div>
<div class="layui-inline" style="width:83%; margin-bottom: 5px;">
@@ -106,16 +117,43 @@
<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/pla/plaDetl.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="editForm" lay-filter="editForm" class="layui-form" style="text-align: center">
+ <table class="layui-table" id="detailTable" lay-filter="detailTable"></table>
+ <div class="layui-btn-container layui-form-item">
+ <button class="layui-btn layui-btn-normal" type="button" lay-submit ew-event="closeDialog">鍙栨秷</button>
+ <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="detailEditSubmit" lay-submit>淇濆瓨</button>
+ </div>
+ </form>
+</script>
+
+
</html>
<script>
+
+ $('body').keydown(function () {
+ if (event.keyCode === 13) {
+ return;
+ }
+ });
+
var checkData = [];
+ var detailData = [];
var deliveryTime;
function child(data){
checkData = data;
+ var allWeight = 0;
+ for (var i in checkData){
+ allWeight += (checkData[i].weightAnfme - checkData[i].qtyAnfme)
+ }
+ $('#qtyWeight').val(allWeight);
delivery();
}
+ //鏄剧ず4澶╁唴棰勭害鍑哄簱鐨勬椂闂�
function delivery(){
$.ajax({
url: baseUrl+"/plaQty/delivery/auth",
@@ -164,30 +202,66 @@
var layer = layui.layer;
var table = layui.table;
- // 鏁版嵁淇敼鍔ㄤ綔
+ form.on('submit(edit)', function () {
+ var dataList = [];
+ for (var i in checkData){
+ var data = {
+ "batch" : checkData[i].batch,
+ "packageNo" : checkData[i].packageNo,
+ "weight" : checkData[i].weightAnfme - checkData[i].qtyAnfme,
+ }
+ dataList.push(data);
+ }
+ if(detailData.length > 0){
+ dataList = detailData;
+ }
+ layer.open({
+ type: 1,
+ title: "鏁伴噺淇敼",
+ content: $('#editDialog').html(),
+ area: '700px',
+ success: function (layero, dIndex) {
+ // 鏄庣粏琛ㄦ牸
+ tableIns = table.render({
+ elem: '#detailTable',
+ data: dataList,
+ limit: 100,
+ even: true,
+ cellMinWidth: 50,
+ cols: [[
+ {field: 'batch', title: '鎵瑰彿', width: 160},
+ {field: 'packageNo', title: '鍖呭彿', width: 200},
+ {field: 'weight', title: '鏁伴噺',edit: true},
+ ]],
+ });
+ }
+ })
+ })
+
+ // 鏁版嵁鎻愪氦鍔ㄤ綔
form.on('submit(save)', function () {
- for(var i in checkData){
- checkData[i].packageType = $('#packageTypeV').val();
- checkData[i].zpalletType = $('#zpalletTypeV').val();
- checkData[i].filmWrap = $('#filmWrapV').val();
- checkData[i].step = 3;
+ if($('#maktxV').val() != checkData[0].brand){
+ layer.msg("閫変腑鐨勫簱瀛樼墝鍙蜂笌璁㈠崟鐗屽彿涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨璁㈠崟");
+ return;
}
- checkData[0].type = 'sellOut';
+ for (var i in checkData){
+ checkData[i].type = 'sellOut';
+ checkData[i].orderNo = $('#orderNoV').val();
+ checkData[i].customer = $('#customer').val();
+ checkData[i].phone = $('#phone').val();
+ checkData[i].addr = $('#addr').val();
+ checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
+ checkData[i].allocate = $('#allocate').val();
+ checkData[i].memo = $('#memo').val();
+ checkData[i].pakoutTime = deliveryTime;
+ }
- checkData[0].orderNo = $('#orderNo').val();
- checkData[0].customer = $('#customerV').val();
- checkData[0].phone = $('#phone').val();
- checkData[0].addr = $('#addr').val();
- checkData[0].orderWeight = $('#weight').val();
- checkData[0].allocate = $('#allocateV').val();
- checkData[0].memo = $('#memo').val();
if(!deliveryTime){
layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
return;
}
- checkData[0].pakoutTime = deliveryTime;
$.ajax({
url: baseUrl+"/pla/sellout/auth",
@@ -212,6 +286,25 @@
})
});
+ form.on('submit(detailEditSubmit)', function () {
+
+ detailData = table.cache.detailTable;
+ var allWeight = +0;
+ for (var i in checkData){
+ //妫�娴嬩慨鏀圭殑鏁伴噺鏄惁灏忎簬绛変簬鏈�澶у彲鍑哄簱鏁伴噺
+ if(detailData[i].weight <= checkData[i].weightAnfme - checkData[i].qtyAnfme){
+ checkData[i].orderWeight = detailData[i].weight;
+ allWeight = allWeight + Number(detailData[i].weight);
+ }else {
+ layer.msg("鎵瑰彿锛�" + detailData[i].batch + "锛屽寘鍙凤細" + detailData[i].packageNo + "鍙嚭搴撻噸閲忓皬浜庝慨鏀瑰悗鐨勬暟閲忥紝璇烽噸鏂板~鍐�");
+ return;
+ }
+ }
+ $('#qtyWeight').val(allWeight);
+ layer.closeAll();
+ })
+
+
function tableReload(child) {
var searchData = {};
$.each($('#search-box [name]').serializeArray(), function() {
--
Gitblit v1.9.1