From 71d838e032d13a46a07917f5606862496220ea74 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 08 一月 2024 08:35:35 +0800 Subject: [PATCH] # 入库拣货功能添加 --- src/main/webapp/static/js/locOwner/locOwner.js | 4 src/main/webapp/views/locOwner/locOwner.html | 12 src/main/java/com/zy/asrs/service/PlaQtyService.java | 8 src/main/java/com/zy/asrs/service/impl/PlaQtyServiceImpl.java | 54 + src/main/java/com/zy/asrs/entity/ConfigType.java | 1 src/main/java/com/zy/asrs/mapper/PlaQtyMapper.java | 6 src/main/java/com/zy/asrs/utils/Utils.java | 8 src/main/webapp/static/js/pla/plaDetl.js | 327 ++++++++++ src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 26 src/main/webapp/static/js/common.js | 1 src/main/webapp/views/pla/pickup.html | 211 ++++++ src/main/java/com/zy/asrs/controller/OutController.java | 3 src/main/java/com/zy/asrs/controller/ConfigTypeController.java | 24 src/main/webapp/static/js/pla/productionInfo.js | 44 + src/main/webapp/views/configType/configTypeAdd.html | 12 src/main/webapp/views/pla/productionInfo.html | 9 src/main/java/com/zy/asrs/controller/PlaController.java | 89 ++ src/main/webapp/views/pla/update.html | 147 ++++ src/main/java/com/zy/asrs/entity/LocOwner.java | 4 src/main/java/com/zy/asrs/controller/MobileController.java | 19 src/main/webapp/static/js/cool.js | 88 ++ src/main/java/com/zy/asrs/entity/Pla.java | 60 + src/main/java/com/zy/asrs/controller/LocOwnerController.java | 14 src/main/webapp/views/pla/returned.html | 198 ++++++ src/main/java/com/zy/asrs/entity/PlaQty.java | 28 src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java | 30 src/main/webapp/static/js/locDetl/locDetl.js | 1 src/main/webapp/views/pla/sellout.html | 247 +++++++ src/main/java/com/zy/asrs/service/PlaService.java | 3 src/main/webapp/views/pla/plaDetl.html | 45 + src/main/java/com/zy/asrs/controller/PlaQtyController.java | 107 +++ src/main/webapp/static/js/order/order.js | 2 src/main/webapp/static/js/configType/configType.js | 5 33 files changed, 1,798 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ConfigTypeController.java b/src/main/java/com/zy/asrs/controller/ConfigTypeController.java index 7b1a9eb..543c7b2 100644 --- a/src/main/java/com/zy/asrs/controller/ConfigTypeController.java +++ b/src/main/java/com/zy/asrs/controller/ConfigTypeController.java @@ -15,8 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.Date; -import java.util.Map; +import java.util.*; @RestController public class ConfigTypeController extends BaseController { @@ -57,6 +56,27 @@ } + @RequestMapping(value = "/configTypeQuery/auth") + @ManagerAuth + public R query(String condition) { + + String type = condition.split(",")[1]; + condition = condition.split(",")[0]; + + EntityWrapper<ConfigType> wrapper = new EntityWrapper<>(); + wrapper.eq("type",type); + wrapper.like("value", condition); + Page<ConfigType> page = configTypeService.selectPage(new Page<>(0, 32), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (ConfigType configType : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", configType.getId()); + map.put("value", configType.getValue()); + result.add(map); + } + return R.ok(result); + } + 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()); diff --git a/src/main/java/com/zy/asrs/controller/LocOwnerController.java b/src/main/java/com/zy/asrs/controller/LocOwnerController.java index d584267..27aad1e 100644 --- a/src/main/java/com/zy/asrs/controller/LocOwnerController.java +++ b/src/main/java/com/zy/asrs/controller/LocOwnerController.java @@ -1,22 +1,24 @@ package com.zy.asrs.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; -import com.core.common.DateUtils; -import com.zy.asrs.entity.LocOwner; -import com.zy.asrs.service.LocOwnerService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; +import com.core.common.DateUtils; import com.core.common.R; +import com.zy.asrs.entity.LocOwner; +import com.zy.asrs.service.LocOwnerService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @RestController public class LocOwnerController extends BaseController { @@ -119,6 +121,8 @@ Map<String, Object> map = new HashMap<>(); map.put("id", locOwner.getId()); map.put("value", locOwner.getOwner()); + map.put("phone", locOwner.getPhone()); + map.put("addr", locOwner.getAddr()); 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 6329b95..0ec5bf0 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -431,6 +431,25 @@ return R.ok(); } + @RequestMapping("/plaDetl/packout1/v1") +// @ManagerAuth(memo="pla鍑哄簱") + public R plaPackOut1(@RequestBody JSONObject json){ + String locNo = json.get("locNo").toString(); + String batch = json.get("batch").toString(); + String packageNo = json.get("packageNo").toString(); + String orderNo = json.get("orderNo").toString(); + String orderDetlId = json.get("orderDetlId").toString(); + String wrkNo = json.get("wrkNo").toString(); + Double anfme = Double.parseDouble(json.get("anfme").toString()); + + if(Cools.isEmpty(locNo) || Cools.isEmpty(batch) || Cools.isEmpty(packageNo)){ + return R.error("鏈夊弬鏁颁负绌猴紝鏃犳硶鍏ュ簱"); + } + + mobileService.plaPakout(locNo,batch,packageNo,orderNo,orderDetlId,wrkNo,anfme); + return R.ok(); + } + @RequestMapping("/plaDetl/packout/v1") // @ManagerAuth(memo="pla鍑哄簱") public R plaPackOut(@RequestBody JSONObject json){ diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index c8b4695..02b14bc 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -191,10 +191,12 @@ 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); @@ -315,6 +317,7 @@ 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 6cbdfc6..f8978f1 100644 --- a/src/main/java/com/zy/asrs/controller/PlaController.java +++ b/src/main/java/com/zy/asrs/controller/PlaController.java @@ -5,15 +5,23 @@ 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.utils.SaasUtils; import com.zy.common.web.BaseController; +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 java.util.Date; import java.util.List; import java.util.Map; @@ -22,6 +30,10 @@ @Autowired private PlaService plaService; + @Autowired + private PlaQtyService plaQtyService; + @Autowired + private ManPakOutService manPakOutService; @RequestMapping(value = "/pla/list/auth") @ManagerAuth @@ -56,6 +68,63 @@ return R.ok(); } + @RequestMapping(value = "/pla/delivery/auth") + @ManagerAuth + public R delivery() { + return R.ok(plaQtyService.getDeliveryDate()); + } + + @RequestMapping(value = "/pla/sellout/auth") + @ManagerAuth + public R sellout(@RequestBody List<Pla> plas) { + + plas.forEach(pla -> { + + if(pla.getWeightAnfme() - pla.getQtyAnfme() - pla.getOrderWeight() < 0){ + throw new CoolException("璇ュ簱瀛樺墿浣欓噸閲忎笉瓒筹紝璇疯皟鏁村嚭搴撻噸閲�"); + } + 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); + + plaService.updateById(pla); + plaQtyService.insert(plaQty); + + //鐢熸垚鎷h揣鍗� + addPakOUT(plaQty); + + }); + + return R.ok(); + } + + @RequestMapping(value = "/pla/returned/auth") + @ManagerAuth + public R returned(@RequestBody List<PlaQty> plaQties) { + plaService.returned(plaQties,getUser()); + return R.ok(); + } + + @RequestMapping(value = "/pla/rework/auth") + @ManagerAuth + public R rework(@RequestBody List<Pla> plas) { + plas.forEach(pla -> { + Double anfme = pla.getWeightAnfme(); + pla.setStatus("鍏ㄩ儴鍑哄簱"); + pla.setModifyTime(new Date()); + pla.setWeightAnfme(0.0); + plaService.updateById(pla); + SaasUtils.insertLog(1,pla.getLocNo(),pla.getBatch()+","+pla.getPackageNo(),anfme,getUser().getUsername()); + }); + + return R.ok(); + } + 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()); @@ -69,4 +138,24 @@ } } + private R addPakOUT(PlaQty plaQty){ + ManPakOut manPakOut=new ManPakOut(); + manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis()); + manPakOut.setWrkSts((long)1); + manPakOut.setAnfme(plaQty.getOrderWeight()); + 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.setStatus(0); + manPakOut.setNodeId(plaQty.getId()); + //manPakOut.setNodeId(plaQty.getOrderDetlId()); + manPakOutService.insert(manPakOut); + return R.ok(); + } + } diff --git a/src/main/java/com/zy/asrs/controller/PlaQtyController.java b/src/main/java/com/zy/asrs/controller/PlaQtyController.java new file mode 100644 index 0000000..3e2ef0b --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/PlaQtyController.java @@ -0,0 +1,107 @@ +package com.zy.asrs.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.ManPakOut; +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.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.*; +import java.util.stream.Collectors; + +@RestController +public class PlaQtyController extends BaseController { + + @Autowired + private PlaService plaService; + @Autowired + private PlaQtyService plaQtyService; + @Autowired + private ManPakOutService manPakOutService; + + @RequestMapping(value = "/plaQty/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<PlaQty> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + allLike(PlaQty.class, param.keySet(), wrapper, condition); + return R.ok(plaQtyService.selectPage(new Page<>(curr, limit), wrapper)); + } + + @RequestMapping(value = "/plaQty/orderDetail/auth") + @ManagerAuth + public R getOrderDetail(String orderNo) { + + List<PlaQty> plaQties = plaQtyService.selectList(new EntityWrapper<PlaQty>().eq("order_no", orderNo).eq(false,"returned",1)); + + plaQties = plaQties.stream().filter(plaQty -> { + ManPakOut manPakOut = manPakOutService.selectOne(new EntityWrapper<ManPakOut>().eq("node_id", plaQty.getId())); + if (Cools.isEmpty(manPakOut)) { + return false; + } + if (Cools.isEmpty(manPakOut.getStatus()) || manPakOut.getStatus() != 1) { + return false; + } + + return true; + }).collect(Collectors.toList()); + + + return R.ok(plaQties); + } + + @RequestMapping(value = "/plaQty/delivery/auth") + @ManagerAuth + public R delivery() { + return R.ok(plaQtyService.getDeliveryDate()); + } + + @RequestMapping(value = "/orderNoQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<PlaQty> wrapper = new EntityWrapper<>(); + wrapper.setSqlSelect("order_no"); + wrapper.like("id", condition); + wrapper.groupBy("order_no"); + List<String> list = plaQtyService.selectOrderNo(); + List<Map<String, Object>> result = new ArrayList<>(); + for (String orderNo : list){ + Map<String, Object> map = new HashMap<>(); + PlaQty plaQty = plaQtyService.selectOne(new EntityWrapper<PlaQty>().eq("order_no", orderNo)); + map.put("id", plaQty.getId()); + map.put("value", orderNo); + map.put("customer", plaQty.getCustomer()); + result.add(map); + } + return R.ok(result); + } + + 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()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + +} diff --git a/src/main/java/com/zy/asrs/entity/ConfigType.java b/src/main/java/com/zy/asrs/entity/ConfigType.java index dfa0734..bf1e9cc 100644 --- a/src/main/java/com/zy/asrs/entity/ConfigType.java +++ b/src/main/java/com/zy/asrs/entity/ConfigType.java @@ -15,4 +15,5 @@ private String type; private String value; private Date createTime; + private String name; } diff --git a/src/main/java/com/zy/asrs/entity/LocOwner.java b/src/main/java/com/zy/asrs/entity/LocOwner.java index a1573a0..35fc8ce 100644 --- a/src/main/java/com/zy/asrs/entity/LocOwner.java +++ b/src/main/java/com/zy/asrs/entity/LocOwner.java @@ -21,6 +21,10 @@ @ApiModelProperty(value= "") private String owner; + private String phone; + + private String addr; + public LocOwner() {} public LocOwner(String owner) { diff --git a/src/main/java/com/zy/asrs/entity/Pla.java b/src/main/java/com/zy/asrs/entity/Pla.java index 17e4a38..e55fe3e 100644 --- a/src/main/java/com/zy/asrs/entity/Pla.java +++ b/src/main/java/com/zy/asrs/entity/Pla.java @@ -1,5 +1,6 @@ package com.zy.asrs.entity; +import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; @@ -18,96 +19,153 @@ //鍏ュ簱鏃堕棿 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @TableField("pakin_time") private String pakinTime; //鎵瑰彿 + @TableField("batch") private String batch; //鍖呰鍙� + @TableField("package_no") private String packageNo; //鐗屽彿 + @TableField("brand") private String brand; //閲嶉噺 + @TableField("weight") private Double weight; //杞﹂棿 + @TableField("workshop") private String workshop; //鐢熶骇绾� + @TableField("line") private String line; //鍖呰绫诲瀷 + @TableField("package_type") private String packageType; //鎵樼洏绫诲瀷 + @TableField("zpallet_type") private String zpalletType; //缂犺啘 + @TableField("film_wrap") private String filmWrap; //鐔旀寚 + @TableField("finger_melting") private Double fingerMelting; //鐔旂偣 + @TableField("fusing_point") private Double fusingPoint; //鎸ュ彂浠�1 + @TableField("vadf1") private Double vadf1; //鎸ュ彂浠�2 + @TableField("vadf2") private Double vadf2; //榛勫害 + @TableField("yellowness") private Double yellowness; //涓嶉�忔槑搴� + @TableField("opacity") private Double opacity; //姘村垎 + @TableField("water") private Double water; //L鍊� + @TableField("l") private Double l; //a鍊� + @TableField("a") private Double a; //b鍊� + @TableField("b") private Double b; //濉厖 + @TableField("fill_in") private Double fillIn; //璐ㄩ噺鐘舵�� + @TableField("mass_state") private String massState; //璐ㄩ噺闂 + @TableField("problem") private String problem; //浠撳簱 + @TableField("stash") private String stash; //搴撲綅 + @TableField("loc_no") private String locNo; //鍓╀綑閲嶉噺 + @TableField("weight_anfme") private Double weightAnfme = 0.0; - //鍓╀綑閲嶉噺 + //寰呭嚭搴撴暟閲� + @TableField("qty_anfme") private Double qtyAnfme = 0.0; //鐘舵�� + @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; } diff --git a/src/main/java/com/zy/asrs/entity/PlaQty.java b/src/main/java/com/zy/asrs/entity/PlaQty.java index 80c0f73..59e06cb 100644 --- a/src/main/java/com/zy/asrs/entity/PlaQty.java +++ b/src/main/java/com/zy/asrs/entity/PlaQty.java @@ -1,5 +1,6 @@ package com.zy.asrs.entity; +import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; @@ -39,6 +40,29 @@ //鍒涘缓鏃堕棿 private Date createTime; + @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; + + private int returned; + public PlaQty(String batch, String packageNo, Long orderDetlId, Long orderId, String orderNo, Double qtyAnfme, String locNo, Date createTime) { this.batch = batch; this.packageNo = packageNo; @@ -49,4 +73,8 @@ this.createTime = createTime; this.orderId = orderId; } + + public PlaQty(){ + + } } diff --git a/src/main/java/com/zy/asrs/mapper/PlaQtyMapper.java b/src/main/java/com/zy/asrs/mapper/PlaQtyMapper.java index 176e549..e82e930 100644 --- a/src/main/java/com/zy/asrs/mapper/PlaQtyMapper.java +++ b/src/main/java/com/zy/asrs/mapper/PlaQtyMapper.java @@ -3,10 +3,16 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.PlaQty; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; + +import java.util.List; @Mapper @Repository public interface PlaQtyMapper extends BaseMapper<PlaQty> { + @Select("select top(10) order_no from asr_pla_qty group by order_no") + List<String> selectOrderNo(); + } diff --git a/src/main/java/com/zy/asrs/service/PlaQtyService.java b/src/main/java/com/zy/asrs/service/PlaQtyService.java index 92116fc..7f1a516 100644 --- a/src/main/java/com/zy/asrs/service/PlaQtyService.java +++ b/src/main/java/com/zy/asrs/service/PlaQtyService.java @@ -1,8 +1,16 @@ package com.zy.asrs.service; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.PlaQty; +import java.util.List; + public interface PlaQtyService extends IService<PlaQty> { + JSONArray getDeliveryDate(); + + List<String> selectOrderNo(); + + } diff --git a/src/main/java/com/zy/asrs/service/PlaService.java b/src/main/java/com/zy/asrs/service/PlaService.java index f73490f..b0dd42e 100644 --- a/src/main/java/com/zy/asrs/service/PlaService.java +++ b/src/main/java/com/zy/asrs/service/PlaService.java @@ -4,6 +4,7 @@ import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.Pla; import com.zy.asrs.entity.PlaQty; +import com.zy.system.entity.User; import java.util.List; @@ -13,4 +14,6 @@ void queryStock(OrderDetl orderDetl, List<PlaQty> plaQties); + void returned(List<PlaQty> plaQties, User user); + } 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 9bf7fa4..56ac370 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -21,6 +21,7 @@ import com.zy.common.service.CommonService; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; +import com.zy.system.service.SaasLogService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -100,6 +101,10 @@ private LocOwnerService locOwnerService; @Autowired private PlaService plaService; + @Autowired + private PlaQtyService plaQtyService; + @Autowired + private SaasLogService saasLogService; @@ -1204,25 +1209,33 @@ @Override public void plaPakin(String locNo, String batch, String packageNo) { Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo); + if(!pla.getLocNo().equals(locNo)){ + throw new CoolException("璇ョ墿鏂欏叆搴撶殑搴撲綅閿欒"); + } if("宸插叆搴�".equals(pla.getStatus())){ throw new CoolException("璇ョ墿鏂欏凡鍏ュ簱"); } pla.setStatus("宸插叆搴�"); pla.setModifyTime(new Date()); plaService.updateById(pla); + SaasUtils.insertLog(0,locNo,batch+","+packageNo,pla.getWeightAnfme(),null); } @Override @Transactional public void plaPakout(String locNo, String batch, String packageNo, String orderNo, String orderDetlId, String wrkNo, Double anfme) { Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo); - //Order order = orderService.selectByNo(orderNo); - OrderDetl orderDetl = orderDetlService.selectById(orderDetlId); + ManPakOut manPakOut = manPakOutService.selectById(wrkNo); + + PlaQty plaQty = plaQtyService.selectById(orderDetlId); //鏇存柊鎷h揣鍗曚俊鎭� if(manPakOut.getCount() + anfme > manPakOut.getAnfme()){ throw new CoolException("鎷h揣閲嶉噺澶т簬鎷h揣鍗曟墍闇�鎷h揣閲嶉噺锛岃閲嶆柊鍒嗛厤鎷h揣閲嶉噺"); + } + if(manPakOut.getStatus() == 1){ + throw new CoolException("璇ユ嫞鏂欏崟宸插嚭搴�"); } manPakOut.setCount(manPakOut.getCount() + anfme); if (manPakOut.getAnfme().equals(manPakOut.getCount())){ @@ -1230,21 +1243,16 @@ manPakOutService.updateById(manPakOut); } - //鏇存柊鍗曟嵁鏄庣粏 - orderDetl.setQty(orderDetl.getQty() + anfme); - orderDetlService.updateById(orderDetl); - - //鏇存柊鍗曟嵁淇℃伅 - orderService.checkComplete(orderNo); - //鏇存柊pla鏄庣粏 pla.setWeightAnfme(pla.getWeightAnfme() - anfme); + pla.setQtyAnfme(pla.getQtyAnfme() - anfme); if(pla.getWeightAnfme() <= 0){ pla.setStatus("鍏ㄩ儴鍑哄簱"); }else { pla.setStatus("閮ㄥ垎鍑哄簱"); } plaService.updateById(pla); + SaasUtils.insertLog(1,locNo,batch+","+packageNo,anfme,null); } } diff --git a/src/main/java/com/zy/asrs/service/impl/PlaQtyServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaQtyServiceImpl.java index 2d7faca..06d2930 100644 --- a/src/main/java/com/zy/asrs/service/impl/PlaQtyServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PlaQtyServiceImpl.java @@ -1,12 +1,66 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.entity.PlaQty; import com.zy.asrs.mapper.PlaQtyMapper; import com.zy.asrs.service.PlaQtyService; import org.springframework.stereotype.Service; +import java.util.Calendar; +import java.util.List; + @Service("plaQtyService") public class PlaQtyServiceImpl extends ServiceImpl<PlaQtyMapper, PlaQty> implements PlaQtyService { + @Override + public JSONArray getDeliveryDate() { + + JSONArray jsonArray = new JSONArray(); + + for (int i=0; i<8; i++){ + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, i/2); + int month = calendar.get(Calendar.MONTH) + 1; + int day = calendar.get(Calendar.DAY_OF_MONTH); + + String isAm = i % 2 == 0 ? "涓婂崍" : "涓嬪崍"; + + String pakoutTimeQuery = month + "鏈�" + day + "鏃�" + isAm; + List<PlaQty> plaQties = this.selectList(new EntityWrapper<PlaQty>().eq("pakout_time", pakoutTimeQuery)); + + Double daysOutWeight = 0.0; + String handlerBy = ""; + for (PlaQty plaQty : plaQties){ + daysOutWeight += plaQty.getOrderWeight(); + if(!handlerBy.contains(plaQty.getHandlerBy())){{ + handlerBy += "銆�" + plaQty.getHandlerBy(); + }} + } + + JSONObject object = new JSONObject(); + String text = daysOutWeight > 0 ? pakoutTimeQuery + "(" + daysOutWeight/1000 + "鍚�)" : pakoutTimeQuery; + + object.put("text",text); + object.put("user",handlerBy); + + jsonArray.add(object); + } + + return jsonArray; + } + + @Override + public List<String> selectOrderNo() { + return this.baseMapper.selectOrderNo(); + } + + public static void main(String[] args) { + String str = "aaaa"; + + + System.out.println(str.split("\\(" )[0]); + } } 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 81a1491..5843839 100644 --- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java @@ -10,6 +10,8 @@ import com.zy.asrs.mapper.PlaMapper; import com.zy.asrs.service.PlaQtyService; import com.zy.asrs.service.PlaService; +import com.zy.asrs.utils.Utils; +import com.zy.system.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -84,4 +86,32 @@ } } + + //閫�鍥� + public void returned(List<PlaQty> plaQties, User user) { + plaQties.forEach(plaQty -> { + PlaQty plaQtyOut = plaQtyService.selectById(plaQty.getId()); + plaQtyOut.setReturned(1); + plaQtyService.updateById(plaQtyOut); + + PlaQty plaQtyReturned = new PlaQty(); + plaQtyReturned.setBatch(plaQtyOut.getBatch()); + plaQtyReturned.setPackageNo(plaQtyOut.getPackageNo()); + plaQtyReturned.setCreateTime(new Date()); + plaQtyReturned.setLocNo(plaQtyOut.getLocNo()); + plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo()); + plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date())); + plaQtyReturned.setOrderWeight(0 - plaQtyOut.getOrderWeight()); + plaQtyReturned.setHandlerBy(user.getUsername()); + plaQtyReturned.setCustomer(plaQtyOut.getCustomer()); + plaQtyReturned.setMemo(plaQty.getMemo()); + plaQtyService.insert(plaQtyReturned); + + Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo()); + pla.setStatus("寰呭叆搴�"); + + this.updateById(pla); + + }); + } } diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 890436b..74b1c52 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -5,7 +5,9 @@ import com.zy.common.properties.SlaveProperties; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -205,6 +207,11 @@ } + public static String getDateStr(Date date){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return simpleDateFormat.format(date); + } + public static void main(String[] args) { SlaveProperties slaveProperties = new SlaveProperties(); slaveProperties.setDoubleDeep(true); @@ -216,4 +223,5 @@ System.out.println(deepRow); } + } diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 7ecbb63..125cb65 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -115,7 +115,6 @@ } } - // http璇锋眰 !function (n) { "use strict"; diff --git a/src/main/webapp/static/js/configType/configType.js b/src/main/webapp/static/js/configType/configType.js index f6afb15..234ddc0 100644 --- a/src/main/webapp/static/js/configType/configType.js +++ b/src/main/webapp/static/js/configType/configType.js @@ -23,6 +23,7 @@ {type: 'checkbox', fixed: 'left'} ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} ,{field: 'type', align: 'center',title: '绫诲瀷'} + ,{field: 'name', align: 'center',title: '鍚嶇О'} ,{field: 'value', align: 'center',title: '鍊�'} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} ]], @@ -86,8 +87,9 @@ shadeClose: false, content: 'configTypeAdd.html', success: function(layero, index){ - clearFormVal(layer.getChildFrame('#detail', index)); + // clearFormVal(layer.getChildFrame('#detail', index)); layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } }); break; @@ -266,6 +268,7 @@ shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 }); var data = { + name: $('#type option:selected').text(), type: $('#type').val(), value: $('#value').val(), }; diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js index d817c09..511bbd9 100644 --- a/src/main/webapp/static/js/cool.js +++ b/src/main/webapp/static/js/cool.js @@ -26,12 +26,21 @@ } } +function test() { + +} + /** * 鎼滅储鑷姩琛ュ叏 -- input */ function autoLoad(val) { var inputDomVal = document.querySelector("input[data-key="+val+"]").value; var selectDom = document.querySelector("select[data-key="+val+"Select]"); + var type = document.querySelector("input[data-key="+val+"]").getAttribute('data-value'); + if(type){ + inputDomVal = inputDomVal + "," + type; + } + //debugger; selectDom.length = 0; var defaultOption = new Option("鍙栨秷閫夋嫨", ""); defaultOption.title = ""; @@ -49,6 +58,9 @@ for (var i=0;i<list.length;i++){ var option = new Option(list[i].value, i); option.title = list[i].id; + option.addr = list[i].addr; + option.phone = list[i].phone; + option.customer = list[i].customer; selectDom.options[i+1] = option; } selectDom.style.display='block'; @@ -87,10 +99,86 @@ } else { cacd.val(selectOptionDom.html()); realDom.val(selectOptionDom.attr("title")); + if(selectOptionDom[0].phone){ + $('#phone').val(selectOptionDom[0].phone); + } + if(selectOptionDom[0].addr){ + $('#addr').val(selectOptionDom[0].addr); + } + if(selectOptionDom[0].customer){ + $('#customerR').val(selectOptionDom[0].customer); + tableReload(); + + }else { + $('#customerR').val(""); + } } inputDom.val(""); } +function tableReload(){ + layui.use(['table','laydate', 'form'], function(){ + var form = layui.form; + var layer = layui.layer; + var table = layui.table; + var orderNo = $('#orderNoV').val(); + table.render({ + elem: '#formSSXMTable', + height: 312, + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/plaQty/orderDetail/auth', + where: { + orderNo: orderNo + }, + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + cols: [[ + {type: 'checkbox'}, + {field: 'id', title: 'id', hide:true}, + {field: 'batch', title: '鎵瑰彿'}, + {field: 'packageNo', title: '鍖呭彿'}, + {field: 'orderWeight', title: '閲嶉噺'} + + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + console.log(res) + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + tableData = table.cache.locDetl; + console.log(tableData); + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + }) + +} + function reviewImg(src) { window.open().document.write("<img src="+src+" />"); } diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js index 973cc32..0d5e4da 100644 --- a/src/main/webapp/static/js/locDetl/locDetl.js +++ b/src/main/webapp/static/js/locDetl/locDetl.js @@ -443,6 +443,7 @@ // 鎼滅储鏍忔悳绱簨浠� form.on('submit(search)', function (data) { + debugger; pageCurr = 1; tableReload(false); }); diff --git a/src/main/webapp/static/js/locOwner/locOwner.js b/src/main/webapp/static/js/locOwner/locOwner.js index 66e7283..517129f 100644 --- a/src/main/webapp/static/js/locOwner/locOwner.js +++ b/src/main/webapp/static/js/locOwner/locOwner.js @@ -23,7 +23,9 @@ cols: [[ // {type: 'checkbox'} {field: 'owner', align: 'center',title: '瀹㈡埛鍚嶇О'} - ,{field: 'id', align: 'center',title: '瀹㈡埛缂栫爜'} + ,{field: 'phone', align: 'center',title: '鐢佃瘽'} + ,{field: 'addr', align: 'center',title: '鍦板潃'} + ,{field: 'id', align: 'center',title: '瀹㈡埛缂栫爜',hide:true} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} ]], request: { diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 0d267c2..f6a94a8 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -152,8 +152,6 @@ var data = obj.data; var layEvent = obj.event; - - if (layEvent === 'edit') { showEditModel(data); } else if (layEvent === 'del') { diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js index 6569d16..1962af6 100644 --- a/src/main/webapp/static/js/pla/plaDetl.js +++ b/src/main/webapp/static/js/pla/plaDetl.js @@ -5,6 +5,7 @@ var matCodeLayerIdx; var data = []; var checkStatus = []; +var dataCheck = []; function getCol() { var cols = [ {field: 'id', title: 'id', align: 'center',hide:true} @@ -16,8 +17,9 @@ ,{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: '鍖呰绫诲瀷', hide:true} - ,{field: 'zpalletType', 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} @@ -25,9 +27,9 @@ ,{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} - ,{field: 'a', align: 'center',title: 'a鍊�', edit: true} - ,{field: 'b', align: 'center',title: 'b鍊�', edit: 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} @@ -35,14 +37,15 @@ ,{field: 'locNo', align: 'center',title: '搴撲綅', edit:true} ,{field: 'weightAnfme', align: 'center',title: '鍓╀綑閲嶉噺锛圞G锛�', edit:true} ,{field: 'status', align: 'center',title: '鐘舵��', edit:true} - ,{field: 'createUser', align: 'center',title: '鍗曞彿', edit:true} - ,{field: 'createUser', align: 'center',title: '鍑哄簱鏃堕棿', edit:true} - ,{field: 'createUser', align: 'center',title: '閲嶉噺', edit:true} - ,{field: 'createUser', align: 'center',title: '缁忓姙浜�', edit:true} - ,{field: 'createUser', align: 'center',title: '娴佽浆褰㈠紡', edit:true} - ,{field: 'createUser', align: 'center',title: '瀹㈡埛鍚嶇О', edit:true} - ,{field: 'createUser', align: 'center',title: '璋冩嫧鍒�', edit:true} - ,{field: 'createUser', 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} ]; return cols; } @@ -104,6 +107,76 @@ } }); + table.on('tool(plaDetl)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'look') { + var $a = $(obj.tr).find('a[lay-event="look"]'); + var offset = $a.offset(); + var top = offset.top; + var left = offset.left; + layer.open({ + type: 1, + title: false, + area: '1200px', + offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], + shade: .01, + shadeClose: true, + fixed: false, + content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', + success: function (layero) { + table.render({ + elem: '#lookSSXMTable', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/plaQty/list/auth', + where: { + batch: data.batch, + package_no: data.packageNo + }, + page: true, + cellMinWidth: 100, + cols: [[ + {type: 'numbers'}, + {field: 'orderNo', title: '鍗曞彿'}, + {field: 'pakoutTime', title: '鍑哄簱鏃堕棿'}, + {field: 'orderWeight', title: '閲嶉噺'}, + {field: 'handlerBy', title: '缁忓姙浜�'}, + {field: 'transfer', title: '娴佽浆褰㈠紡'}, + {field: 'customer', title: '瀹㈡埛鍚嶇О'}, + {field: 'allocate', title: '璋冩嫧鍒�'}, + {field: 'memo', title: '澶囨敞'}, + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function () { + $(layero).find('.layui-table-view').css('margin', '0'); + }, + size: '' + }); + } + }); + + } + }) + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); // 閲嶇疆浜嬩欢 form.on('submit(reset)', function (data) { @@ -118,8 +191,37 @@ } // 閲嶈浇琛ㄦ牸 - function tableReload() { - tableIns.reload({data: matCodeData}); + // function tableReload() { + // tableIns.reload({data: matCodeData}); + // } + function tableReload(child) { + var searchData = { + }; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); } @@ -185,5 +287,200 @@ }) }) + $(document).on('click','#rework', function () { + let data = table.cache.plaDetl; + let dataSave = []; + let dataOld = []; + for(var i=0; i<data.length; i++){ + if(data[i].LAY_CHECKED){ + dataSave.push(data[i]); + }else { + dataOld.push(data[i]); + } + } + + if(!dataSave || dataSave.length < 1){ + layer.msg("鏈嬀閫夛紝璇峰厛鍕鹃�夐渶瑕侀噸鍋氱殑搴撳瓨"); + return; + } + + layer.confirm('纭畾閲嶅仛閫変腑鐨勫簱瀛樺悧锛�', { + shade: .1, + skin: 'layui-layer-admin' + }, function (i) { + layer.close(i); + $.ajax({ + url: baseUrl+"/pla/rework/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(dataSave), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg("鎻愪氦鎴愬姛"); + table.reload('productionInfoTable',{ + data: dataOld + }) + } else if (res.code === 403){ + + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + }) + }) + + $(document).on('click','#updateZpallet', function () { + let data = table.cache.plaDetl; + let dataSave = []; + let dataOld = []; + for(var i=0; i<data.length; i++){ + if(data[i].LAY_CHECKED){ + data[i].step = 1; + dataSave.push(data[i]); + }else { + dataOld.push(data[i]); + } + } + dataCheck = dataSave; + + if(!dataSave || dataSave.length < 1){ + layer.msg("鏈嬀閫夛紝璇峰厛鍕鹃�夐渶瑕佹洿鏀圭殑搴撳瓨"); + return; + } + + layer.open({ + type: 2, + title: '鎹㈠寘瑁�/鎵樼洏/缂犺啘', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'update.html', + success: function(layero, index){ + 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"}); + + var iframe = window['layui-layer-iframe' + index]; + iframe.child(dataSave) + } + }); + }) + + $(document).on('click','#sellout', function () { + + let data = table.cache.plaDetl; + let dataSave = []; + let dataOld = []; + for(var i=0; i<data.length; i++){ + if(data[i].LAY_CHECKED){ + if(data[i].status === "寰呭叆搴�" || data[i].status === "鍏ㄩ儴鍑哄簱"){ + layer.msg("閫変腑鐨勬槑缁嗚繕鏈叆搴撴垨鑰呭凡鍏ㄩ儴鍑哄簱锛岃閲嶆柊閫夋嫨"); + return; + } + dataSave.push(data[i]); + }else { + dataOld.push(data[i]); + } + } + dataCheck = dataSave; + + if(!dataSave || dataSave.length < 1){ + layer.msg("鏈嬀閫夛紝璇峰厛鍕鹃�夐渶瑕佹洿鏀圭殑搴撳瓨"); + return; + } + if(dataSave.length > 1){ + layer.msg("璇峰嬀閫変竴鏉″簱瀛樻槑缁�"); + return; + } + + layer.open({ + type: 2, + title: '鍗栧嚭', + maxmin: true, + area: ['800px', top.detailHeight], + shadeClose: false, + content: 'sellout.html', + success: function(layero, index){ + 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"}); + + var iframe = window['layui-layer-iframe' + index]; + iframe.child(dataSave) + } + }); + }) + + $(document).on('click','#pickup', function () { + + let data = table.cache.plaDetl; + let dataSave = []; + let dataOld = []; + for(var i=0; i<data.length; i++){ + if(data[i].LAY_CHECKED){ + if(data[i].status === "寰呭叆搴�" || data[i].status === "鍏ㄩ儴鍑哄簱"){ + layer.msg("閫変腑鐨勬槑缁嗚繕鏈叆搴撴垨鑰呭凡鍏ㄩ儴鍑哄簱锛岃閲嶆柊閫夋嫨"); + return; + } + dataSave.push(data[i]); + }else { + dataOld.push(data[i]); + } + } + dataCheck = dataSave; + + if(!dataSave || dataSave.length < 1){ + layer.msg("鏈嬀閫夛紝璇峰厛鍕鹃�夐渶瑕佹洿鏀圭殑搴撳瓨"); + return; + } + if(dataSave.length > 1){ + layer.msg("璇峰嬀閫変竴鏉″簱瀛樻槑缁�"); + return; + } + + layer.open({ + type: 2, + title: '鍗栧嚭', + maxmin: true, + area: ['800px', top.detailHeight], + shadeClose: false, + content: 'pickup.html', + success: function(layero, index){ + 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"}); + + var iframe = window['layui-layer-iframe' + index]; + iframe.child(dataSave) + } + }); + }) + + $(document).on('click','#returned', function () { + + layer.open({ + type: 2, + title: '閫�鍥�', + maxmin: true, + area: ['800px', '800px'], + shadeClose: false, + content: 'returned.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + + } + }); + }) + }) +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + + diff --git a/src/main/webapp/static/js/pla/productionInfo.js b/src/main/webapp/static/js/pla/productionInfo.js index db2fd0a..960585d 100644 --- a/src/main/webapp/static/js/pla/productionInfo.js +++ b/src/main/webapp/static/js/pla/productionInfo.js @@ -18,6 +18,7 @@ ,{field: 'line', 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} ]; return cols; } @@ -32,6 +33,8 @@ var form = layui.form; var admin = layui.admin; + initSelector(); + tableIns = table.render({ elem: '#productionInfoTable', data: [], @@ -45,6 +48,46 @@ } }); + + function initSelector(){ + $('#package').append('<option value="value">Text</option>'); + + var selectDom = $('#package'); + $.ajax({ + url: baseUrl+"/configTypeQuery/auth", + headers: {'token': localStorage.getItem('token')}, + data: {condition: ',packageType'}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + var list = res.data; + for (var i=0;i<list.length;i++){ + var option = new Option(list[i].value, i); + selectDom.append($("<option></option>").attr("value",option["value"])); + } + + } else if (res.code === 403){ + + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + $('#packageCheck').val(); + } + + form.on('select(selectDemo1)', function (data) { + debugger + console.log(data.elem); + var elem = $(data.elem); + var trElem = elem.parents('tr'); + console.log(trElem); + var tableData = table.cache.productionInfoTable; // 涓簍able id + console.log(tableData); + // 鏇存柊鍒拌〃鏍肩殑缂撳瓨鏁版嵁涓紝鎵嶈兘鍦ㄨ幏寰楅�変腑琛岀瓑绛夊叾浠栫殑鏂规硶涓緱鍒版洿鏂颁箣鍚庣殑鍊� + tableData[trElem.data('index')][elem.attr('name')] = data.value; + }); // 閲嶇疆浜嬩欢 form.on('submit(reset)', function (data) { @@ -62,7 +105,6 @@ function tableReload() { tableIns.reload({data: matCodeData}); } - $(document).on('click','#add', function () { diff --git a/src/main/webapp/views/configType/configTypeAdd.html b/src/main/webapp/views/configType/configTypeAdd.html index d7ee719..208fc83 100644 --- a/src/main/webapp/views/configType/configTypeAdd.html +++ b/src/main/webapp/views/configType/configTypeAdd.html @@ -18,7 +18,17 @@ <div class="layui-inline" style="width:45%;"> <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label> <div class="layui-input-inline"> - <input id="type" class="layui-input" type="text" lay-verify="required" > + <select id="type" lay-verify="required"> + <option value="packageType" selected = "selected">鍖呰绫诲瀷</option> + <option value="zpalletType">鎵樼洏绫诲瀷</option> + <option value="filmWrap">缂犺啘</option> + <option value="allocate">璋冩嫧鍒�</option> + </select> +<!-- <input id="type" class="layui-input" type="select" list="typelist" lay-verify="required" >--> +<!-- <datalist id="typelist">--> +<!-- <option value="packageType">鍖呰绫诲瀷</option>--> +<!-- <option value="zpalletType">鎵樼洏绫诲瀷</option>--> +<!-- </datalist>--> </div> </div> <div class="layui-inline" style="width:45%;"> diff --git a/src/main/webapp/views/locOwner/locOwner.html b/src/main/webapp/views/locOwner/locOwner.html index 1ef1ead..3efea7b 100644 --- a/src/main/webapp/views/locOwner/locOwner.html +++ b/src/main/webapp/views/locOwner/locOwner.html @@ -71,6 +71,18 @@ <input class="layui-input" name="owner" placeholder="瀹㈡埛鍚嶇О" lay-vertype="tips" lay-verify="required"> </div> </div> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">瀹㈡埛鐢佃瘽: </label> + <div class="layui-input-block"> + <input class="layui-input" name="phone" placeholder="瀹㈡埛鐢佃瘽" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">瀹㈡埛鍦板潃: </label> + <div class="layui-input-block"> + <input class="layui-input" name="addr" placeholder="瀹㈡埛鍦板潃" lay-vertype="tips" lay-verify="required"> + </div> + </div> </div> </div> diff --git a/src/main/webapp/views/pla/pickup.html b/src/main/webapp/views/pla/pickup.html new file mode 100644 index 0000000..90a3b19 --- /dev/null +++ b/src/main/webapp/views/pla/pickup.html @@ -0,0 +1,211 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <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/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <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-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"> + <input id="weight" class="layui-input" type="text" lay-verify="required" placeholder="KG"> + </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>澶囥��銆�娉細</label> + <div class="layui-input-inline"> + <input id="memo" class="layui-input" type="text"> + </div> + </div> + </div> + + <div class="layui-form layui-card-header" > + <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br> + <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i> + <div class="layui-form-item"> + <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button> + <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button> + <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + </div> + <div class="layui-form-item "> + <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button> + <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button> + <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + </div> + </div> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + </form> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script> +</html> +<script> + var checkData = []; + var deliveryTime; + function child(data){ + checkData = data; + delivery(); + + } + + function delivery(){ + $.ajax({ + url: baseUrl+"/plaQty/delivery/auth", + headers: {'token': localStorage.getItem('token')}, + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + $('#btn-day1-am').text(res.data[0].text); + $('#btn-day1-pm').text(res.data[1].text); + $('#btn-day2-am').text(res.data[2].text); + $('#btn-day2-pm').text(res.data[3].text); + $('#btn-day3-am').text(res.data[4].text); + $('#btn-day3-pm').text(res.data[5].text); + $('#btn-day4-am').text(res.data[6].text); + $('#btn-day4-pm').text(res.data[7].text); + $("#btn-day1-am").hover(function(){ + $(this).attr("title", res.data[0].user); + }, function(){ + $(this).removeAttr("title"); + }); + + } else if (res.code === 403){ + layer.msg(res.msg, {icon: 2}) + return; + }else { + layer.msg(res.msg, {icon: 2}) + return; + } + } + }) + } + + $('.delivery').click(function (){ + delivery(); + deliveryTime = this.textContent; + this.append(' 鉁�'); + $('.delivery').addClass('layui-btn-primary'); + this.classList.remove('layui-btn-primary'); + + }) + + layui.use(['table','laydate', 'form'], function(){ + var form = layui.form; + var layer = layui.layer; + var table = layui.table; + + // 鏁版嵁淇敼鍔ㄤ綔 + 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; + } + + checkData[0].type = "pickup"; + + checkData[0].orderNo = $('#orderNo').val(); + checkData[0].customer = $('#customerV').val() ? $('#customerV').val() : ""; + checkData[0].phone = $('#phone').val() ? $('#phone').val() : " "; + checkData[0].addr = $('#addr').val() ? $('#addr').val() : " "; + checkData[0].orderWeight = $('#weight').val(); + checkData[0].allocate = $('#allocateV').val() ? $('#allocateV').val() : ""; + checkData[0].memo = $('#memo').val() ? $('#memo').val() : ""; + if(!deliveryTime){ + layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿"); + return; + } + checkData[0].pakoutTime = deliveryTime; + + $.ajax({ + url: baseUrl+"/pla/sellout/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(checkData), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg("淇敼鎴愬姛"); + tableReload(true); + } else if (res.code === 403){ + layer.msg(res.msg, {icon: 2}) + return; + }else { + layer.msg(res.msg, {icon: 2}) + return; + } + parent.layer.closeAll(); + } + }) + }); + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); + } + + }) + +</script> + diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html index 1c0db59..98b7af6 100644 --- a/src/main/webapp/views/pla/plaDetl.html +++ b/src/main/webapp/views/pla/plaDetl.html @@ -116,6 +116,43 @@ <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> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="package_no" placeholder="鍖呭彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="brand" placeholder="鐗屽彿" autocomplete="off"> + </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> + +</div> + <!-- 琛� --> <script type="text/html" id="operate"> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a> @@ -124,6 +161,14 @@ <!-- 琛ㄦ牸 --> <table class="layui-table" id="plaDetl" lay-filter="plaDetl"></table> +<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> 鏇村 + </a> + </span> +</script> + <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> diff --git a/src/main/webapp/views/pla/productionInfo.html b/src/main/webapp/views/pla/productionInfo.html index 7368b02..df9b0bf 100644 --- a/src/main/webapp/views/pla/productionInfo.html +++ b/src/main/webapp/views/pla/productionInfo.html @@ -104,6 +104,15 @@ <!-- 琛ㄦ牸 --> <table class="layui-table" id="productionInfoTable" lay-filter="productionInfoTable"></table> + +<script type="text/html" id="packageCheck"> + <select name="packageType" lay-filter="selectDemo1" data-key="packageType"> + <option value="">璇烽�夋嫨</option> + <option value="1">1</option> + </select> +</script> + + <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> diff --git a/src/main/webapp/views/pla/returned.html b/src/main/webapp/views/pla/returned.html new file mode 100644 index 0000000..3868a55 --- /dev/null +++ b/src/main/webapp/views/pla/returned.html @@ -0,0 +1,198 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <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/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <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 cool-auto-complete"> + <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)" onchange="tableReload()" type="text" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="orderNoQueryByorderNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="orderNoQueryByorderNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </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="customerR" class="layui-input" type="text" lay-verify="required" 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-block"> + <table id="formSSXMTable" lay-filter="formSSXMTable"></table> + </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>澶囥��銆�娉細</label> + <div class="layui-input-inline"> + <input id="memo" class="layui-input" type="text"> + </div> + </div> + </div> + + + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + </form> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script> +</html> +<script> + var checkData = []; + + layui.use(['table','laydate', 'form'], function(){ + var form = layui.form; + var layer = layui.layer; + var table = layui.table; + + table.render({ + elem: '#formSSXMTable', + height: 312, + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/plaQty/orderDetail/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + cols: [[ + {type: 'checkbox'}, + {field: 'batch', title: '鎵瑰彿'}, + {field: 'packageNo', title: '鍖呭彿'}, + {field: 'orderWeight', title: '閲嶉噺'} + + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + console.log(res) + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + tableData = table.cache.locDetl; + console.log(tableData); + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(save)', function () { + debugger + let data = table.cache.formSSXMTable; + let dataSave = []; + for(var i in data){ + if(data[i].LAY_CHECKED){ + data[i].memo = $('#memo').val(); + dataSave.push(data[i]); + } + } + if(!dataSave || dataSave.length < 1){ + layer.msg("鏈嬀閫夋彁浜ら」锛屾棤娉曟彁浜�"); + return; + } + $.ajax({ + url: baseUrl+"/pla/returned/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(dataSave), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg("鎻愪氦鎴愬姛"); + table.reload('productionInfoTable',{ + data: dataOld + }) + } else if (res.code === 403){ + + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + }); + + function tableReload(child) { + debugger + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); + } + + }) + + +</script> + diff --git a/src/main/webapp/views/pla/sellout.html b/src/main/webapp/views/pla/sellout.html new file mode 100644 index 0000000..0341eea --- /dev/null +++ b/src/main/webapp/views/pla/sellout.html @@ -0,0 +1,247 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <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/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <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> + <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()> + <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-inline" style="width:40%;margin-top: 0px;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"> + </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="addr" class="layui-input" type="text" lay-verify="required" 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"> + </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> + </div> + </div> + <div class="layui-inline" style="width:83%; margin-bottom: 5px;"> + <label class="layui-form-label"></span>澶囥��銆�娉細</label> + <div class="layui-input-inline"> + <input id="memo" class="layui-input" type="text"> + </div> + </div> + </div> + + <div class="layui-form layui-card-header" > + <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br> + <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i> + <div class="layui-form-item"> + <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button> + <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button> + <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + </div> + <div class="layui-form-item "> + <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button> + <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button> + <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button> + </div> + </div> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + </form> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script> +</html> +<script> + var checkData = []; + var deliveryTime; + function child(data){ + checkData = data; + delivery(); + + } + + function delivery(){ + $.ajax({ + url: baseUrl+"/plaQty/delivery/auth", + headers: {'token': localStorage.getItem('token')}, + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + $('#btn-day1-am').text(res.data[0].text); + $('#btn-day1-pm').text(res.data[1].text); + $('#btn-day2-am').text(res.data[2].text); + $('#btn-day2-pm').text(res.data[3].text); + $('#btn-day3-am').text(res.data[4].text); + $('#btn-day3-pm').text(res.data[5].text); + $('#btn-day4-am').text(res.data[6].text); + $('#btn-day4-pm').text(res.data[7].text); + $("#btn-day1-am").hover(function(){ + $(this).attr("title", res.data[0].user); + }, function(){ + $(this).removeAttr("title"); + }); + + } else if (res.code === 403){ + layer.msg(res.msg, {icon: 2}) + return; + }else { + layer.msg(res.msg, {icon: 2}) + return; + } + } + }) + } + + $('.delivery').click(function (){ + delivery(); + deliveryTime = this.textContent; + this.append(' 鉁�'); + $('.delivery').addClass('layui-btn-primary'); + this.classList.remove('layui-btn-primary'); + + }) + + layui.use(['table','laydate', 'form'], function(){ + var form = layui.form; + var layer = layui.layer; + var table = layui.table; + + // 鏁版嵁淇敼鍔ㄤ綔 + 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; + } + + checkData[0].type = 'sellOut'; + + 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", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(checkData), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg("淇敼鎴愬姛"); + tableReload(true); + } else if (res.code === 403){ + layer.msg(res.msg, {icon: 2}) + return; + }else { + layer.msg(res.msg, {icon: 2}) + return; + } + parent.layer.closeAll(); + } + }) + }); + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); + } + + }) + +</script> + diff --git a/src/main/webapp/views/pla/update.html b/src/main/webapp/views/pla/update.html new file mode 100644 index 0000000..7a5fc67 --- /dev/null +++ b/src/main/webapp/views/pla/update.html @@ -0,0 +1,147 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <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/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>鎹㈠寘瑁咃細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="packageType" class="layui-input" type="text" style="display: none" lay-verify="required"> + <input id="packageTypeV" 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="configTypeQueryByPackageType" data-value="packageType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="configTypeQueryByPackageTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>鎹㈡墭鐩橈細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="zpalletType" class="layui-input" type="text" style="display: none" lay-verify="required"> + <input id="zpalletTypeV" 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="configTypeQueryByzpalletType" data-value="zpalletType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="configTypeQueryByzpalletTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>缂犺啘锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="filmWrap" class="layui-input" type="text" style="display: none" lay-verify="required"> + <input id="filmWrapV" 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="configTypeQueryByfilmWrap" data-value="filmWrap" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="configTypeQueryByfilmWrapSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + </form> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script> +</html> +<script> + var checkData = []; + function child(data){ + checkData = data; + } + + layui.use(['table','laydate', 'form'], function(){ + var form = layui.form; + var layer = layui.layer; + var table = layui.table; + + // 鏁版嵁淇敼鍔ㄤ綔 + 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; + } + + $.ajax({ + url: baseUrl+"/pla/update/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(checkData), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg("淇敼鎴愬姛"); + tableReload(true); + } else if (res.code === 403){ + layer.msg(res.msg, {icon: 2}) + return; + }else { + layer.msg(res.msg, {icon: 2}) + return; + } + parent.layer.closeAll(); + } + }) + }); + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); + } + + }) + +</script> + -- Gitblit v1.9.1