From 99862b1d333fbbb448ea346551c23b325d7b4963 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 17 五月 2025 09:32:53 +0800
Subject: [PATCH] 接口编写
---
src/main/java/com/zy/asrs/mapper/InventoryCheckOrderDetlMapper.java | 12
src/main/webapp/static/js/inventoryCheckOrderDetl/inventoryCheckOrderDetl.js | 258 +++++++
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java | 99 ++
src/main/webapp/views/inventoryCheckOrderDetl/inventoryCheckOrderDetl.html | 134 +++
src/main/java/com/zy/asrs/service/InventoryCheckOrderDetlService.java | 8
src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderServiceImpl.java | 12
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 31
src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderDetlServiceImpl.java | 12
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html | 332 +++++++++
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheakOrderTable.js | 174 +++++
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js | 452 +++++++++++++
src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java | 209 ++++++
src/main/java/com/zy/asrs/service/InventoryCheckOrderService.java | 8
src/main/java/com/zy/asrs/mapper/InventoryCheckOrderMapper.java | 12
src/main/java/com/zy/asrs/controller/InventoryCheckOrderDetlController.java | 151 ++++
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java | 122 +++
16 files changed, 2,012 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java b/src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java
new file mode 100644
index 0000000..879e668
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java
@@ -0,0 +1,209 @@
+package com.zy.asrs.controller;
+
+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.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.InventoryCheckOrder;
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.InventoryCheckOrderDetlService;
+import com.zy.asrs.service.InventoryCheckOrderService;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+public class InventoryCheckOrderController extends BaseController {
+
+ @Autowired
+ private InventoryCheckOrderService inventoryCheckOrderService;
+ @Autowired
+ private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
+
+ @RequestMapping("/inventoryCheckOrder/StockCheck/select/barcode")
+ @ManagerAuth()
+ public R StockCheckSelectBarcode(@RequestParam String barcode) {
+ if (Cools.isEmpty(barcode)) {
+ return R.ok();
+ }
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+ if (Cools.isEmpty(wrkMast)) {
+ return R.error("璇ユ潯鐮佹湭鏌ヨ鍒扮洏鐐逛换鍔�");
+ }
+ ArrayList<InventoryCheckOrderDetl> checkOrderDetls = new ArrayList<>();
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ InventoryCheckOrderDetl checkDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("order_no", wrkMast.getSheetNo())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("batch", wrkDetl.getBatch()));
+ if (Cools.isEmpty(checkDetl)) {
+ continue;
+ }
+ checkOrderDetls.add(checkDetl);
+
+ }
+ return R.ok(checkOrderDetls);
+ }
+
+ @RequestMapping("/inventoryCheckOrder/select/status/1")
+ @ManagerAuth()
+ public R availableTakeCheckSite(){
+ return R.ok().add(inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>().eq("status", "1")));
+ }
+
+
+ @RequestMapping(value = "/inventoryCheckOrder/nav/list/auth")
+ @ManagerAuth
+ public R navList(@RequestParam(required = false) String orderNo){
+ EntityWrapper<InventoryCheckOrder> wrapper = new EntityWrapper<>();
+ if (!Cools.isEmpty(orderNo)) {
+ wrapper.like("order_no", orderNo);
+ }
+ wrapper.eq("status", 1);
+ wrapper.orderBy("create_time", false);
+ List<InventoryCheckOrder> orders = inventoryCheckOrderService.selectList(wrapper);
+
+ return R.ok().add(orders);
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/{id}/auth")
+ @ManagerAuth
+ public R get(@PathVariable("id") String id) {
+ return R.ok(inventoryCheckOrderService.selectById(String.valueOf(id)));
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/list/auth")
+ @ManagerAuth
+ public R list(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam(required = false)String condition,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<InventoryCheckOrder> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convert(param, wrapper);
+ allLike(InventoryCheckOrder.class, param.keySet(), wrapper, condition);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+ return R.ok(inventoryCheckOrderService.selectPage(new Page<>(curr, limit), wrapper));
+ }
+
+ 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);
+ }
+ }
+ }
+
+ @PostMapping (value = "/inventoryCheckOrder/add/auth")
+ @ManagerAuth
+ public R add(@RequestBody InventoryCheckOrder inventoryCheckOrder) {
+ String orderNo = inventoryCheckOrder.getOrderNo();
+ long time = new Date().getTime();
+ if (Cools.isEmpty(orderNo)) {
+ switch (inventoryCheckOrder.getArea()){
+ case "鍫嗗灈鏈�":
+ orderNo = "DDJ"+time;
+ break;
+ case "鍥涘悜搴�":
+ orderNo = "SXK"+time;
+ break;
+ case "CTU":
+ orderNo = "CTU"+time;
+ break;
+ }
+ inventoryCheckOrder.setOrderNo(orderNo);
+ }
+
+ int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo));
+ if (count > 0) {
+ return R.parse("鍗曟嵁缂栧彿宸茬粡瀛樺湪锛�" + orderNo);
+ }
+
+ inventoryCheckOrder.setCreateBy(getUserId().toString());
+ inventoryCheckOrder.setCreateTime(new Date());
+ inventoryCheckOrder.setStatus("1");
+
+ inventoryCheckOrderService.insert(inventoryCheckOrder);
+ return R.ok(orderNo + "鏂板鎴愬姛");
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/update/auth")
+ @ManagerAuth
+ public R update(InventoryCheckOrder inventoryCheckOrder){
+ if (Cools.isEmpty(inventoryCheckOrder) || null==inventoryCheckOrder.getId()){
+ return R.error();
+ }
+ inventoryCheckOrderService.updateById(inventoryCheckOrder);
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/delete/auth")
+ @ManagerAuth
+ public R delete(@RequestParam(value="ids[]") Long[] ids){
+ for (Long id : ids){
+ inventoryCheckOrderService.deleteById(id);
+ }
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/export/auth")
+ @ManagerAuth
+ public R export(@RequestBody JSONObject param){
+ EntityWrapper<InventoryCheckOrder> wrapper = new EntityWrapper<>();
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ Map<String, Object> map = excludeTrash(param.getJSONObject("inventoryCheckOrder"));
+ convert(map, wrapper);
+ List<InventoryCheckOrder> list = inventoryCheckOrderService.selectList(wrapper);
+ return R.ok(exportSupport(list, fields));
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderQuery/auth")
+ @ManagerAuth
+ public R query(String condition) {
+ EntityWrapper<InventoryCheckOrder> wrapper = new EntityWrapper<>();
+ wrapper.like("id", condition);
+ Page<InventoryCheckOrder> page = inventoryCheckOrderService.selectPage(new Page<>(0, 10), wrapper);
+ List<Map<String, Object>> result = new ArrayList<>();
+ for (InventoryCheckOrder inventoryCheckOrder : page.getRecords()){
+ Map<String, Object> map = new HashMap<>();
+ map.put("id", inventoryCheckOrder.getId());
+ map.put("value", inventoryCheckOrder.getId());
+ result.add(map);
+ }
+ return R.ok(result);
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrder/check/column/auth")
+ @ManagerAuth
+ public R query(@RequestBody JSONObject param) {
+ Wrapper<InventoryCheckOrder> wrapper = new EntityWrapper<InventoryCheckOrder>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+ if (null != inventoryCheckOrderService.selectOne(wrapper)){
+ return R.parse(BaseRes.REPEAT).add(getComment(InventoryCheckOrder.class, String.valueOf(param.get("key"))));
+ }
+ return R.ok();
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/InventoryCheckOrderDetlController.java b/src/main/java/com/zy/asrs/controller/InventoryCheckOrderDetlController.java
new file mode 100644
index 0000000..7e1e31b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/InventoryCheckOrderDetlController.java
@@ -0,0 +1,151 @@
+package com.zy.asrs.controller;
+
+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.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.InventoryCheckOrder;
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.zy.asrs.service.InventoryCheckOrderDetlService;
+import com.zy.asrs.service.InventoryCheckOrderService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class InventoryCheckOrderDetlController extends BaseController {
+
+ @Autowired
+ private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
+ @Autowired
+ private InventoryCheckOrderService inventoryCheckOrderService;
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/pakout/list/auth")
+ @ManagerAuth
+ public R pakoutList(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam Map<String, Object> param){
+ if (null == param.get("order_id")|| param.get("order_id").equals("9999999999")){
+ return R.ok(inventoryCheckOrderDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no",null)));
+ }
+ InventoryCheckOrder inventoryCheckOrder = inventoryCheckOrderService.selectById(Integer.parseInt(param.get("order_id").toString()));
+
+ EntityWrapper<InventoryCheckOrderDetl> inventoryCheckOrderDetlEntityWrapper = new EntityWrapper<>();
+// convert(param, inventoryCheckOrderDetlEntityWrapper);
+ inventoryCheckOrderDetlEntityWrapper.eq("order_no",inventoryCheckOrder.getOrderNo());
+
+ return R.ok(inventoryCheckOrderDetlService.selectPage(new Page<>(curr, limit), inventoryCheckOrderDetlEntityWrapper));
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/{id}/auth")
+ @ManagerAuth
+ public R get(@PathVariable("id") String id) {
+ return R.ok(inventoryCheckOrderDetlService.selectById(String.valueOf(id)));
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/list/auth")
+ @ManagerAuth
+ public R list(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam(required = false)String condition,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<InventoryCheckOrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convert(param, wrapper);
+ allLike(InventoryCheckOrderDetl.class, param.keySet(), wrapper, condition);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+ return R.ok(inventoryCheckOrderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ }
+
+ 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 (entry.getKey().equals("curr") || entry.getKey().equals("limit")){
+ continue;
+ }
+ 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);
+ }
+ }
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/add/auth")
+ @ManagerAuth
+ public R add(InventoryCheckOrderDetl inventoryCheckOrderDetl) {
+ inventoryCheckOrderDetlService.insert(inventoryCheckOrderDetl);
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/update/auth")
+ @ManagerAuth
+ public R update(InventoryCheckOrderDetl inventoryCheckOrderDetl){
+ if (Cools.isEmpty(inventoryCheckOrderDetl) || null==inventoryCheckOrderDetl.getId()){
+ return R.error();
+ }
+ inventoryCheckOrderDetlService.updateById(inventoryCheckOrderDetl);
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/delete/auth")
+ @ManagerAuth
+ public R delete(@RequestParam(value="ids[]") Long[] ids){
+ for (Long id : ids){
+ inventoryCheckOrderDetlService.deleteById(id);
+ }
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/export/auth")
+ @ManagerAuth
+ public R export(@RequestBody JSONObject param){
+ EntityWrapper<InventoryCheckOrderDetl> wrapper = new EntityWrapper<>();
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ Map<String, Object> map = excludeTrash(param.getJSONObject("inventoryCheckOrderDetl"));
+ convert(map, wrapper);
+ List<InventoryCheckOrderDetl> list = inventoryCheckOrderDetlService.selectList(wrapper);
+ return R.ok(exportSupport(list, fields));
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetlQuery/auth")
+ @ManagerAuth
+ public R query(String condition) {
+ EntityWrapper<InventoryCheckOrderDetl> wrapper = new EntityWrapper<>();
+ wrapper.like("id", condition);
+ Page<InventoryCheckOrderDetl> page = inventoryCheckOrderDetlService.selectPage(new Page<>(0, 10), wrapper);
+ List<Map<String, Object>> result = new ArrayList<>();
+ for (InventoryCheckOrderDetl inventoryCheckOrderDetl : page.getRecords()){
+ Map<String, Object> map = new HashMap<>();
+ map.put("id", inventoryCheckOrderDetl.getId());
+ map.put("value", inventoryCheckOrderDetl.getId());
+ result.add(map);
+ }
+ return R.ok(result);
+ }
+
+ @RequestMapping(value = "/inventoryCheckOrderDetl/check/column/auth")
+ @ManagerAuth
+ public R query(@RequestBody JSONObject param) {
+ Wrapper<InventoryCheckOrderDetl> wrapper = new EntityWrapper<InventoryCheckOrderDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+ if (null != inventoryCheckOrderDetlService.selectOne(wrapper)){
+ return R.parse(BaseRes.REPEAT).add(getComment(InventoryCheckOrderDetl.class, String.valueOf(param.get("key"))));
+ }
+ return R.ok();
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
new file mode 100644
index 0000000..bff935b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
@@ -0,0 +1,99 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.baomidou.mybatisplus.annotations.TableField;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("man_Inventory_check_order")
+public class InventoryCheckOrder implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 鍗曟嵁鍙�
+ */
+ @ApiModelProperty(value= "鍗曟嵁鍙�")
+ @TableField("order_no")
+ private String orderNo;
+
+ /**
+ * 搴撳尯
+ */
+ @ApiModelProperty(value= "搴撳尯")
+ private String area;
+
+ @ApiModelProperty(value= "鐘舵��")
+ private String status;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ApiModelProperty(value= "鍒涘缓鏃堕棿")
+ @TableField("create_time")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ @ApiModelProperty(value= "鍒涘缓浜�")
+ @TableField("create_by")
+ private String createBy;
+
+ public InventoryCheckOrder() {}
+
+ public InventoryCheckOrder(Integer id,String orderNo,String area,Date createTime,String createBy) {
+ this.id = id;
+ this.orderNo = orderNo;
+ this.area = area;
+ this.createTime = createTime;
+ this.createBy = createBy;
+ }
+
+// InventoryCheckOrder inventoryCheckOrder = new InventoryCheckOrder(
+// null, // ID[闈炵┖]
+// null, // 鍗曟嵁鍙�
+// null, // 搴撳尯
+// null, // 鍒涘缓鏃堕棿
+// null // 鍒涘缓浜�
+// );
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public String getStatus$(){
+ if (Cools.isEmpty(this.status)){
+ return "";
+ }
+ switch (this.status){
+ case "1":
+ return "鏈彁浜�";
+ case "2":
+ return "宸叉彁浜�";
+ default:
+ return "";
+ }
+ }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
new file mode 100644
index 0000000..2961436
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -0,0 +1,122 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.baomidou.mybatisplus.annotations.TableField;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("man_Inventory_check_order_detl")
+public class InventoryCheckOrderDetl implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value= "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty(value= "")
+ @TableField("order_no")
+ private String orderNo;
+
+ @ApiModelProperty(value= "")
+ private String matnr;
+
+ @ApiModelProperty(value= "")
+ private String maktx;
+
+ @ApiModelProperty(value= "")
+ private String batch;
+
+ @ApiModelProperty(value= "")
+ private Double anfme;
+
+ @ApiModelProperty(value= "")
+ private String area;
+
+ @ApiModelProperty(value= "")
+ private String status;
+
+ @ApiModelProperty(value= "")
+ @TableField("loc_no")
+ private String locNo;
+
+ @ApiModelProperty(value= "")
+ @TableField("check_anfme")
+ private Double checkAnfme;
+
+ @ApiModelProperty(value= "")
+ @TableField("io_time")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date ioTime;
+
+ public InventoryCheckOrderDetl() {}
+
+ public InventoryCheckOrderDetl(String orderNo,String matnr,String maktx,String batch,Double anfme,String area,String locNo,Date ioTime) {
+ this.orderNo = orderNo;
+ this.matnr = matnr;
+ this.maktx = maktx;
+ this.batch = batch;
+ this.anfme = anfme;
+ this.area = area;
+ this.locNo = locNo;
+ this.ioTime = ioTime;
+ }
+
+// InventoryCheckOrderDetl inventoryCheckOrderDetl = new InventoryCheckOrderDetl(
+// null, //
+// null, //
+// null, //
+// null, //
+// null, //
+// null, //
+// null, //
+// null //
+// );
+
+ public String getIoTime$(){
+ if (Cools.isEmpty(this.ioTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
+ }
+
+ public String getStatus$(){
+ if (Cools.isEmpty(this.status)){
+ return "";
+ }
+ switch (this.status){
+ case "1":
+ return "寰呯洏";
+ case "2":
+ return "宸茬洏";
+ default:
+ return "";
+ }
+ }
+
+ public String getProfit$(){
+ if (Cools.isEmpty(this.status) && !this.status.equals("1")){
+ return "鏈洏鐐�";
+ }
+ if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){
+ return "";
+ }
+ if (this.anfme > this.checkAnfme){
+ return "鐩樹簭";
+ }else if (this.anfme < this.checkAnfme){
+ return "鐩樼泩";
+ }else {
+ return "骞�";
+ }
+ }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderDetlMapper.java
new file mode 100644
index 0000000..c6709ed
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderDetlMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface InventoryCheckOrderDetlMapper extends BaseMapper<InventoryCheckOrderDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderMapper.java b/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderMapper.java
new file mode 100644
index 0000000..1a88652
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/InventoryCheckOrderMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.InventoryCheckOrder;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface InventoryCheckOrderMapper extends BaseMapper<InventoryCheckOrder> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/InventoryCheckOrderDetlService.java b/src/main/java/com/zy/asrs/service/InventoryCheckOrderDetlService.java
new file mode 100644
index 0000000..2654d03
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/InventoryCheckOrderDetlService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface InventoryCheckOrderDetlService extends IService<InventoryCheckOrderDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/InventoryCheckOrderService.java b/src/main/java/com/zy/asrs/service/InventoryCheckOrderService.java
new file mode 100644
index 0000000..7e8bf3c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/InventoryCheckOrderService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.InventoryCheckOrder;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface InventoryCheckOrderService extends IService<InventoryCheckOrder> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderDetlServiceImpl.java
new file mode 100644
index 0000000..4a27f56
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderDetlServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.InventoryCheckOrderDetlMapper;
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import com.zy.asrs.service.InventoryCheckOrderDetlService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("inventoryCheckOrderDetlService")
+public class InventoryCheckOrderDetlServiceImpl extends ServiceImpl<InventoryCheckOrderDetlMapper, InventoryCheckOrderDetl> implements InventoryCheckOrderDetlService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderServiceImpl.java
new file mode 100644
index 0000000..0523360
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/InventoryCheckOrderServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.InventoryCheckOrderMapper;
+import com.zy.asrs.entity.InventoryCheckOrder;
+import com.zy.asrs.service.InventoryCheckOrderService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("inventoryCheckOrderService")
+public class InventoryCheckOrderServiceImpl extends ServiceImpl<InventoryCheckOrderMapper, InventoryCheckOrder> implements InventoryCheckOrderService {
+
+}
diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
index 1df8981..61405a5 100644
--- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
+++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -2,6 +2,8 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.InventoryCheckOrder;
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.service.OpenService;
@@ -38,6 +40,9 @@
@Autowired
private NccCkPddWmsService nccCkPddWmsService;
+
+ @Autowired
+ private Inv nccCkPddWmsService;
@Autowired
private OpenService openService;
@@ -156,28 +161,26 @@
public ReturnT<String> start4() {
List<String> strings = nccCkPddWmsService.selectPdd();
for (String string : strings) {
- OpenOrderPakoutParam param = new OpenOrderPakoutParam();
- param.setOrderType("閲囪喘鍒拌揣");
- DetlDto detlDto;
- List<DetlDto> orderDetails = new ArrayList<>();
+ InventoryCheckOrder param = new InventoryCheckOrder();
+ InventoryCheckOrderDetl checkOrderDetl;
+ List<InventoryCheckOrderDetl> checkOrderDetls = new ArrayList<>();
long i = 1;
List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1));
for (NccCkPddWms nccScZkmxbWms : wmsFlag) {
log.info("NccCkPddWms鏁版嵁:{}", JSONObject.toJSON(nccScZkmxbWms));
-// if (nccScZkmxbWms.getDjzt() == 2 && nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) {
-// detlDto = new DetlDto();
-// detlDto.setMatnr(nccScZkmxbWms.getWlbm());
-// detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue());
-// detlDto.setBatch(nccScZkmxbWms.getVbatchcode());
-// detlDto.setLineNumber(i);
-// orderDetails.add(detlDto);
-// i++;
-// }
+ if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getHdr() == 0) {
+ checkOrderDetl = new InventoryCheckOrderDetl();
+ checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
+ checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue());
+ checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode());
+ checkOrderDetls.add(checkOrderDetl);
+ i++;
+ }
nccScZkmxbWms.setWmsFlag(1);
}
param.setOrderNo(string);
param.setOrderDetails(orderDetails);
- //openService.pakoutOrderCreate(param);
+ openService.pakoutOrderCreate(param);
nccCkPddWmsService.updateBatchById(wmsFlag);
}
return SUCCESS;
diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheakOrderTable.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheakOrderTable.js
new file mode 100644
index 0000000..0a5e1c8
--- /dev/null
+++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheakOrderTable.js
@@ -0,0 +1,174 @@
+var insTb;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/" // 閰嶇疆妯″潡鎵�鍦ㄧ殑鐩綍
+}).use(['table','laydate', 'form', 'admin', 'tableX'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+ var tableX = layui.tableX;
+
+ /****************************************** 宸﹁竟琛� *************************************************/
+
+ insTb = table.render({
+ elem: '#originTable',
+ url: baseUrl + '/inventoryCheckOrder/nav/list/auth',
+ height: 'full-120',
+ headers: {token: localStorage.getItem('token')},
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ page: false,
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'data': res.data
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ // toolbar: ['<p>',
+ // '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon"></i>娣诲姞</button> ',
+ // '<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon"></i>淇敼</button> ',
+ // '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>鍒犻櫎</button>',
+ // '</p>'].join(''),
+ defaultToolbar: [],
+ cols: [[
+ // {type: 'numbers', title: '#'},
+ {field: 'createTime$', title: '鏃ユ湡'},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', align: 'center'},
+ {field: 'status$', title: '鐘舵��', align: 'center'}
+ ]],
+ done: function (res, curr, count) {
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+
+ // // 缁戝畾榧犳爣鍙抽敭
+ // tableX.bindCtxMenu('originTable', function (d) {
+ // return [
+ // {
+ // icon: 'layui-icon layui-icon-ok',
+ // name: '涓�閿嚭搴�',
+ // click: function (d) {
+ // autoOut(d.id);
+ // }
+ // }
+ // ]
+ //
+ // })
+
+ }
+ });
+
+ /* 琛ㄦ牸鎼滅储 */
+ form.on('submit(originTableSearch)', function (data) {
+ insTb.reload({where: data.field});
+ return false;
+ });
+
+ /* 琛ㄦ牸閲嶇疆 */
+ form.on('submit(originTbReset)', function (data) {
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ return false;
+ });
+
+ /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+ table.on('toolbar(originTable)', function (obj) {
+ if (obj.event === 'add') { // 娣诲姞
+ showEdit();
+ } else if (obj.event === 'edit') { // 淇敼
+ if (selObj == null) {
+ return;
+ }
+ showEdit(selObj.data);
+ } else if (obj.event === 'del') { // 鍒犻櫎
+ if (selObj == null) {
+ return;
+ }
+ doDel(selObj);
+ }
+ });
+
+
+ /* 鐩戝惉琛屽崟鍑讳簨浠� */
+ var selObj;
+ table.on('row(originTable)', function (obj) {
+
+ selObj = obj;
+ obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
+ insTb2.reload({where: {order_id: obj.data.id}, page: {curr: 1}});
+ });
+
+ /* 鏄剧ず琛ㄥ崟寮圭獥 */
+ function showEdit(mData) {
+ admin.open({
+ type: 1,
+ title: (mData ? '淇敼' : '娣诲姞') + '椤圭洰',
+ content: $('#hostEditDialog').html(),
+ success: function (layero, dIndex) {
+ // 鍥炴樉琛ㄥ崟鏁版嵁
+ form.val('hostEditForm', mData);
+ // 琛ㄥ崟鎻愪氦浜嬩欢
+ form.on('submit(hostEditSubmit)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/host/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ selObj = null;
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function doDel(obj) {
+ layer.confirm('纭畾瑕佸垹闄ゆ鍗曟嵁绫诲瀷鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/host/delete/one/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: JSON.stringify(obj.data)},
+ method: 'POST',
+ success: function (res) {
+ selObj = null;
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.closeAll();
+ insTb.reload();
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+})
diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
new file mode 100644
index 0000000..3e3faaf
--- /dev/null
+++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
@@ -0,0 +1,452 @@
+var pageCurr;
+var insTb2;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).extend({
+ notice: 'notice/notice',
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+ var util = layui.util;
+ var notice = layui.notice;
+ var treeTable = layui.treeTable;
+ var xmSelect = layui.xmSelect;
+ var tableMerge = layui.tableMerge;
+ var tableX = layui.tableX;
+
+ insTb2 = table.render({
+ elem: '#orderDetlTable',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/inventoryCheckOrderDetl/pakout/list/auth',
+ page: true,
+ limit: 15,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#orderDetToolbar',
+ height: 'full-120',
+ where: {order_id: 9999999999},
+ cols: [[
+ {type: 'checkbox'}
+ ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'}
+ ,{field: 'locNo', align: 'center',title: '搴撲綅'}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
+ ,{field: 'batch', align: 'center',title: '鎵规'}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ,{field: 'checkAnfme', align: 'center',title: '鐩樼偣鏁伴噺', style: 'font-weight: bold'}
+ // ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
+ // ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
+ // ,{field: 'name', align: 'center',title: '鍚嶇О'}
+ // ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
+ ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true}
+ // ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'}
+ // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
+ // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+ // ,{field: 'count', align: 'center',title: '鏁伴噺'}
+ // ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+ ,{field: 'profit$', align: 'center',title: '鐩堜簭',templet: '#profitTpl'}
+ ,{field: 'status$', align: 'center',title: '鐘舵��'}
+ // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+ // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+ // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+ // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+ // ,{field: 'memo', align: 'center',title: '澶囨敞'}
+ // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+
+ /* 琛ㄦ牸2鎼滅储 */
+ form.on('submit(sensorTbSearch)', function (data) {
+ insTb2.reload({where: data.field, page: {curr: 1}});
+ return false;
+ });
+
+ // 鏄剧ず寮规
+ $('#showFormBtn').on('click', function () {
+ // 寮规鍐呭
+ var content = `
+ <form class="layui-form" id="billForm" style="padding: 20px;">
+ <div class="layui-form-item" style="margin-bottom: 20px;">
+ <label class="layui-form-label" style="width: 80px; font-size: 14px;">搴撳尯锛�</label>
+ <div class="layui-input-block" style="margin-left: 110px;">
+ <select id="warehouseArea" class="layui-input" style="width: 100%;">
+ <option value="鍫嗗灈鏈�" selected>鍫嗗灈鏈�</option>
+ <option value="鍥涘悜搴�">鍥涘悜搴�</option>
+ <option value="CTU">CTU</option>
+ </select>
+ </div>
+ </div>
+ <div class="layui-form-item" style="text-align: right;">
+ <button type="button" class="layui-btn" id="saveBtn" style="display: inline-block; padding: 0px 20px; font-size: 16px; background-color: #5FB878; border-color: #5FB878; text-align: center;">淇濆瓨</button>
+ </div>
+ </form>
+ `;
+
+ // 寮规
+ layer.open({
+ type: 1, // 浣跨敤 HTML 鍐呭
+ title: '娣诲姞鐩樼偣鍗�',
+ content: content,
+ area: ['400px', '280px'], // 寮规澶у皬
+ shadeClose: true, // 鐐瑰嚮閬僵鍏抽棴
+ offset: '100px',
+ success: function (layero, index) {
+ form.render();
+ // 鐐瑰嚮淇濆瓨鎸夐挳浜嬩欢
+ $('#saveBtn').on('click', function () {
+ var billNumber = $('#billNumber').val();
+ var warehouseArea = $('#warehouseArea').val();
+
+
+
+ });
+ }
+ });
+ });
+
+ /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+ table.on('toolbar(orderDetlTable)', function (obj) {
+ // console.log(obj.config.where.order_id);
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ if (obj.event === 'pakoutPreview') { // 娣诲姞
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨鑷冲皯涓�鏉″嚭搴撴槑缁�', {icon: 2});
+ return;
+ }
+ pakoutPreview(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ } else if (obj.event === 'del') { // 鍒犻櫎
+ var checkRows = table.checkStatus('sensorTable');
+ if (checkRows.data.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ var ids = checkRows.data.map(function (d) {
+ return d.id;
+ });
+ doDelSensor({ids: ids});
+ } else if (obj.event === 'submitERP') { // 鎻愪氦erp
+ $.ajax({
+ url: baseUrl + "/mobile/checkOut/submit/auth",
+ headers: {'token': localStorage.getItem('token')},
+ // contentType: 'application/json;charset=UTF-8',
+ data: {
+ orderId: obj.config.where.order_id
+ },
+ method: 'GET',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+
+ }
+
+ });
+
+ /* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */
+ table.on('tool(orderDetlTable)', function (obj) {
+ console.log(obj);
+ var data = obj.data;
+ switch (obj.event) {
+ // 鍑哄簱
+ case 'pakoutPreview':
+ pakoutPreview([data.id])
+ break;
+ }
+ });
+
+ function pakoutPreview(ids) {
+ let loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl + "/out/pakout/preview/auth/sxk",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(ids),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ var tableCache;
+ if (res.code === 200){
+ layer.open({
+ type: 1
+ ,title: false
+ ,closeBtn: false
+ ,offset: '50px'
+ ,area: ['1200px', '700px']
+ ,shade: 0.5
+ ,shadeClose: false
+ ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
+ ,btnAlign: 'c'
+ ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ ,content: $('#pakoutPreviewBox').html()
+ ,success: function(layero, index){
+ stoPreTabIdx = table.render({
+ elem: '#stoPreTab',
+ data: res.data,
+ height: 520,
+ page: false,
+ limit: Number.MAX_VALUE,
+ cellMinWidth: 100,
+ cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'batch', title: '搴忓垪鐮�', align: 'center'},
+ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ {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) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab;
+ }
+ });
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = Number(obj.elem.value);
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for(let i = 0; i<stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val =>
+ {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = Number(obj.field.batchSta);
+ let arr = [];
+ for (let j = 0; j<stoPreTabData.length; j++) {
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx); layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
+ }
+
+ }
+ ,yes: function(index, layero){
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ pakout(tableCache, index);
+ }
+ ,btn2: function(index, layero){
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ layer.close(index)
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ function pakout(tableCache, layerIndex) {
+ // let loadIndex = layer.load(2);
+ notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
+ $.ajax({
+ url: baseUrl + "/out/pakout/auth/sxk",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(tableCache),
+ method: 'POST',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.close(layerIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ }
+
+
+
+ /* 鍒犻櫎璁㈠崟 */
+ function doDelSensor(obj) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/sensor/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: obj.ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ $(".layui-laypage-btn")[0].click();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+
+ });
+ }
+
+ // 淇敼鐘舵��
+ form.on('switch(statusSwitch)', function (obj) {
+ var index = obj.othis.parents('tr').attr("data-index");
+ var data = tableData[index];
+ data[this.name] = obj.elem.checked?1:0;
+ http.post(baseUrl+"/sensor/edit/auth", {id: data.id, status: data[this.name]}, function (res) {
+ layer.msg(res.msg, {icon: 1});
+ })
+ })
+
+ window.pakoutPreview = pakoutPreview;
+
+});
+
+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
+ }
+ });
+}
+
+/**
+ * 涓�閿嚭搴�
+ */
+function autoOut(orderId) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl + "/out/pakout/orderDetlIds/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: { orderId : orderId },
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ pakoutPreview(res.data);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+}
diff --git a/src/main/webapp/static/js/inventoryCheckOrderDetl/inventoryCheckOrderDetl.js b/src/main/webapp/static/js/inventoryCheckOrderDetl/inventoryCheckOrderDetl.js
new file mode 100644
index 0000000..ed0baf0
--- /dev/null
+++ b/src/main/webapp/static/js/inventoryCheckOrderDetl/inventoryCheckOrderDetl.js
@@ -0,0 +1,258 @@
+var pageCurr;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#inventoryCheckOrderDetl',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/inventoryCheckOrderDetl/list/auth',
+ page: true,
+ limit: 15,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ height: 'full-120',
+ cols: [[
+ {type: 'checkbox'}
+ ,{field: 'id', align: 'center',title: ''}
+ ,{field: 'orderNo', align: 'center',title: ''}
+ ,{field: 'matnr', align: 'center',title: ''}
+ ,{field: 'maktx', align: 'center',title: ''}
+ ,{field: 'batch', align: 'center',title: ''}
+ ,{field: 'anfme', align: 'center',title: ''}
+ ,{field: 'area', align: 'center',title: ''}
+ ,{field: 'locNo', align: 'center',title: ''}
+ ,{field: 'ioTime$', align: 'center',title: ''}
+
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+
+ // 鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(inventoryCheckOrderDetl)', function (obj) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ searchData['orderByField'] = obj.field;
+ searchData['orderByType'] = obj.type;
+ tableIns.reload({
+ where: searchData,
+ page: {curr: 1}
+ });
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(inventoryCheckOrderDetl)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ switch(obj.event) {
+ case 'addData':
+ showEditModel();
+ break;
+ case 'deleteData':
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ break;
+ case 'exportData':
+ admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'inventoryCheckOrderDetl': exportData,
+ 'fields': fields
+ };
+ $.ajax({
+ url: baseUrl+"/inventoryCheckOrderDetl/export/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ });
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(inventoryCheckOrderDetl)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'edit':
+ showEditModel(data);
+ break;
+ case "del":
+ del([data.id]);
+ break;
+ }
+ });
+
+ /* 寮圭獥 - 鏂板銆佷慨鏀� */
+ function showEditModel(mData) {
+ admin.open({
+ type: 1,
+ area: '600px',
+ title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
+ content: $('#editDialog').html(),
+ success: function (layero, dIndex) {
+ layDateRender(mData);
+ form.val('detail', mData);
+ form.on('submit(editSubmit)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/inventoryCheckOrderDetl/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function del(ids) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/inventoryCheckOrderDetl/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ // 鎼滅储
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ tableReload(false);
+ });
+
+ // 閲嶇疆
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ tableReload(false);
+ });
+
+ // 鏃堕棿閫夋嫨鍣�
+ function layDateRender(data) {
+ setTimeout(function () {
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
+ });
+ layDate.render({
+ elem: '#ioTime\\$',
+ type: 'datetime',
+ value: data!==undefined?data['ioTime\\$']:null
+ });
+
+ }, 300);
+ }
+ layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+ parent.layer.closeAll();
+});
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ tableIns.reload({
+ where: searchData,
+ page: {curr: pageCurr}
+ });
+}
diff --git a/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
new file mode 100644
index 0000000..5eb829d
--- /dev/null
+++ b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
@@ -0,0 +1,332 @@
+<!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/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/originTable.css" media="all">
+ <style>
+ body {
+ color: #595959;
+ background-color: #f5f7f9;
+ }
+
+ .admin-form {
+ padding: 25px 30px 0 0 !important;
+ margin: 0 !important;
+ }
+
+ .layui-table-view .layui-table-cell .layui-select-title .layui-input {
+ height: 28px;
+ line-height: 28px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-select-title .layui-input {
+ height: 20px;
+ line-height: 20px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-btn-xs {
+ height: 18px;
+ line-height: 18px;
+ }
+
+ /* 鏉冮檺鎺у埗 */
+ #btn-pakoutPreview {
+ display: none;
+ }
+ /*#btn-delete {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-edit {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-more {*/
+ /* display: none;*/
+ /*}*/
+ </style>
+</head>
+<body>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+ <div class="layui-row layui-col-space15">
+ <!-- 宸� -->
+ <div class="layui-col-md3" id="left-table">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline" style="max-width: 300px;">
+ <input name="orderNo" class="layui-input" placeholder="杈撳叆鍗曟嵁缂栧彿" autocomplete="off"/>
+ </div>
+ <div class="layui-inline">
+ <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+
+
+ </div>
+ </div>
+ </form>
+ <table id="originTable" lay-filter="originTable"></table>
+ </div>
+ </div>
+ </div>
+ <!-- 鍙� -->
+ <div class="layui-col-md9">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+
+ <!-- <form class="layui-form toolbar">-->
+<!-- <div class="layui-form-item">-->
+<!--<!– <div class="layui-inline">–>-->
+<!--<!– <label class="layui-form-label">鍟嗗搧缂栫爜:</label>–>-->
+<!--<!– <div class="layui-input-inline">–>-->
+<!--<!– <input name="matnr" class="layui-input" placeholder="鍟嗗搧缂栫爜"/>–>-->
+<!--<!– </div>–>-->
+<!--<!– </div>–>-->
+<!--<!– <div class="layui-inline">–>-->
+<!--<!– <label class="layui-form-label">鍟嗗搧鍚嶇О:</label>–>-->
+<!--<!– <div class="layui-input-inline">–>-->
+<!--<!– <input name="maktx" class="layui-input" placeholder="鍟嗗搧鍚嶇О"/>–>-->
+<!--<!– </div>–>-->
+<!--<!– </div>–>-->
+<!--<!– <div class="layui-inline">–>-->
+<!--<!– <label class="layui-form-label">搴忓垪鐮�:</label>–>-->
+<!--<!– <div class="layui-input-inline">–>-->
+<!--<!– <input name="batch" class="layui-input" placeholder="搴忓垪鐮�"/>–>-->
+<!--<!– </div>–>-->
+<!--<!– </div>–>-->
+<!-- <!– <div class="layui-inline">–>-->
+<!-- <!– <label class="layui-form-label">鐘舵��:</label>–>-->
+<!-- <!– <div class="layui-input-inline">–>-->
+<!-- <!– <select name="isOnline">–>-->
+<!-- <!– <option value="1">鍏呯數涓�</option>–>-->
+<!-- <!– <option value="1">鍏呯數涓�</option>–>-->
+<!-- <!– <option value="0">涓嶅湪鍏呯數</option>–>-->
+<!-- <!– </select>–>-->
+<!-- <!– </div>–>-->
+<!-- <!– </div>–>-->
+<!-- <div class="layui-inline"> -->
+<!-- <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit>-->
+<!-- <i class="layui-icon"></i>鎼滅储-->
+<!-- </button>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </form>-->
+ <table id="orderDetlTable" lay-filter="orderDetlTable"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<!-- 澶村伐鍏锋爮 -->
+<script type="text/html" id="orderDetToolbar">
+
+ <!-- <div class="layui-btn-container">-->
+ <!-- <div class="layui-col-md3">-->
+ <!-- <select id="staNoSelect" lay-verify="required">-->
+ <!-- <option value="">璇烽�夋嫨绔欑偣</option>-->
+ <!-- </select>-->
+ <!-- </div>-->
+ <!-- </div>-->
+<!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button>-->
+ <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button>
+ <button id="showFormBtn" class="layui-btn icon-btn" lay-submit>
+ <i class="layui-icon"></i>娣诲姞鍗曟嵁
+ </button>
+</script>
+
+<!-- 琛屽伐鍏锋爮 -->
+<script type="text/html" id="operate">
+ {{#if (d.enableQty > 0){ }}
+ <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>鍑哄簱</a>
+ {{# } }}
+</script>
+
+<!-- 鍑哄簱棰勮 -->
+<script type="text/html" id="pakoutPreviewBox" style="display: none">
+ <div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+ <span style="font-size: large; font-weight: bold">鍑哄簱棰勮</span>
+ </div>
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px">
+ <table id="stoPreTab" lay-filter="stoPreTab"></table>
+ </div>
+ <button class="layui-btn layui-btn-primary layui-border-black layui-btn-sm" lay-filter="batchModifySta" lay-submit style="display: block;float: right;margin-right: 1rem">
+ 鎵归噺淇敼
+ </button>
+ </div>
+</script>
+
+<script type="text/html" id="tbBasicTbStaNos">
+ <div class="ew-select-fixed">
+ <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>
+
+<script type="text/html" id="staBatchSelectDialog">
+ <form class="layui-form" style="padding: 25px 50px 30px 50px;text-align: center">
+ <select id="batchSelectStaBox" name="batchSta" lay-vertype="tips" lay-verify="required" required="">
+ </select>
+ <button style="margin-top: 30px" class="layui-btn" lay-filter="staBatchSelectConfirm" lay-submit="">纭畾</button>
+ </form>
+</script>
+
+<script type="text/html" id="locNoTpl">
+ <span name="locNo"
+ {{# if( d.lack === false){ }}
+ class="layui-badge layui-badge-green" >{{d.locNo}}</span>
+ {{# } else { }}
+ class="layui-badge layui-badge-red" >搴撳瓨涓嶈冻</span>
+ {{# } }}
+</script>
+
+<!-- 琛屾牱寮� -->
+<script type="text/html" id="orderNoTpl">
+ <span name="orderNo" class="layui-badge layui-badge-gray">{{d.orderNo}}</span>
+</script>
+<script type="text/html" id="statusTpl">
+ <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
+</script>
+
+<script type="text/html" id="profitTpl">
+ <span name="settle"
+ {{# if( d.profit$ === "鐩樹簭"){ }}
+ class="layui-badge layui-badge-red"
+ {{# }else if(d.profit$ === "鐩樼泩"){ }}
+ class="layui-badge layui-badge-green"
+ {{# }else if(d.profit$ === "骞�"){ }}
+ class="layui-badge layui-badge-gray"
+ {{# } }}
+ >{{d.profit$}}</span>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form">
+ <input name="id" type="hidden">
+ <input name="status" type="hidden">
+ <div class="layui-row">
+
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">璁惧缂栧彿</label>
+ <div class="layui-input-block">
+ <input name="uuid" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璁惧绫诲瀷锛�</label>
+ <div class="layui-input-block">
+ <div id="modelSel" class="ew-xmselect-tree"></div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">鎵�灞為」鐩�: </label>
+ <div class="layui-input-block cool-auto-complete">
+ <input name="hostId" class="layui-input" style="display: none">
+ <input id="hostId$" name="hostId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇烽�夋嫨鎵�灞為」鐩�" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md12">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璇︾粏鍦板潃</label>
+ <div class="layui-input-block">
+ <input name="addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" class="layui-input">
+ </div>
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-col-md12" style="text-align: center">
+ <iframe id="mapIframe" src="map.html" scrolling="no" frameborder="0"
+ style="display: inline-block; width: 90%;height: 400px;margin: auto">
+ </iframe>
+ </div>
+
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.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/tools/md5.js"></script>
+<script type="text/javascript" src="../../static/js/inventoryCheckOrder/inventoryCheakOrderTable.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/inventoryCheckOrder/inventoryCheckOrder.js" charset="utf-8"></script>
+<!--<script type="text/template" id="takeSiteSelectTemplate">-->
+<!-- {{#each data}}-->
+<!-- <option value="{{siteId}}">{{desc}}</option>-->
+<!-- {{/each}}-->
+<!--</script>-->
+<!-- 椤圭洰缂栬緫绐楀彛 -->
+<script type="text/html" id="hostEditDialog">
+ <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form">
+ <input name="id" type="hidden"/>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">椤圭洰鍚嶇О:</label>
+ <div class="layui-input-block">
+ <input name="name" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" class="layui-input"
+ lay-verType="tips" lay-verify="required" required/>
+ </div>
+ </div>
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+</body>
+
+<script type="text/template" id="batchStaSelectTpl">
+ <option value="">閫夋嫨鍑哄簱绔�</option>
+ {{#each list}}
+ <option value="{{this}}">{{this}}</option>
+ {{/each}}
+</script>
+
+</html>
+
diff --git a/src/main/webapp/views/inventoryCheckOrderDetl/inventoryCheckOrderDetl.html b/src/main/webapp/views/inventoryCheckOrderDetl/inventoryCheckOrderDetl.html
new file mode 100644
index 0000000..3ca0db6
--- /dev/null
+++ b/src/main/webapp/views/inventoryCheckOrderDetl/inventoryCheckOrderDetl.html
@@ -0,0 +1,134 @@
+<!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/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+</head>
+<body>
+
+<div class="layui-fluid">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <div class="layui-form toolbar" id="search-box">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ </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 class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </div>
+ <table class="layui-hide" id="inventoryCheckOrderDetl" lay-filter="inventoryCheckOrderDetl"></table>
+ </div>
+ </div>
+</div>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+ </div>
+</script>
+
+<script type="text/html" id="operate">
+ <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-edit" lay-event="del">鍒犻櫎</a>
+</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>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/inventoryCheckOrderDetl/inventoryCheckOrderDetl.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+ <input name="id" type="hidden">
+ <div class="layui-row">
+ <div class="layui-col-md12">
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="orderNo" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="matnr" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="maktx" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="batch" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="anfme" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="area" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="locNo" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">: </label>
+ <div class="layui-input-block">
+ <input class="layui-input" name="ioTime" id="ioTime$" placeholder="璇疯緭鍏�">
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+</html>
+
--
Gitblit v1.9.1