From f9a1f1b0a23bb8bc33a4a649f61f9efcce349279 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 10 八月 2023 13:20:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java               |  229 ++++++++++++
 src/main/webapp/static/js/mat/mat.js                                    |   71 +++
 src/main/webapp/views/mat/mat.html                                      |   39 ++
 src/main/webapp/static/js/order/order.js                                |  231 ++++++++++++
 src/main/java/com/zy/asrs/controller/MatController.java                 |  178 +++++++--
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java |  247 ++++++------
 src/main/webapp/views/order/order.html                                  |   33 +
 7 files changed, 868 insertions(+), 160 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index a8eb233..ede2e37 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -10,21 +11,26 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.MatPrint;
-import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.InFormIdParam;
 import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.TagService;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
 import com.zy.asrs.utils.MatExcelListener;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
 import com.zy.common.entity.MatExcel;
 import com.zy.common.utils.BarcodeUtils;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.utils.QrCode;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -34,26 +40,45 @@
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 @RestController
+@Slf4j
 public class MatController extends BaseController {
 
+    @Value("${erp.address.URL}")
+    //绔彛
+    private String URL;
+
+    @Value("${erp.address.inaddress}")
+    //鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
+    private String inaddress;
+
+    @Autowired
+    private TagService tagService;
+
+    @Autowired
+    private ApiLogService apiLogService;
     @Autowired
     private MatService matService;
     @Autowired
     private LocDetlService locDetlService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private LoginAuthenticationHandler loginAuthenticationHandler;
 
     @RequestMapping(value = "/mat/auto/matnr/auth")
-    public R autoMatnr(){
+    public R autoMatnr() {
         return R.ok().add("YJ" + DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss).substring(0, 16));
     }
 
     @RequestMapping(value = "/mat/list/pda/auth")
     @ManagerAuth
-    public R pdaList(@RequestParam(required = true)Long tagId){
+    public R pdaList(@RequestParam(required = true) Long tagId) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         wrapper.eq("tag_id", tagId);
         wrapper.orderBy("create_time", false);
@@ -63,7 +88,7 @@
 
     @RequestMapping(value = "/mat/search/pda/auth")
     @ManagerAuth
-    public R pdaSearch(@RequestParam(required = false)String condition){
+    public R pdaSearch(@RequestParam(required = false) String condition) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         if (!Cools.isEmpty(condition)) {
             wrapper.like("matnr", condition).or().like("maktx", condition);
@@ -87,11 +112,11 @@
 
     @RequestMapping(value = "/mat/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 Map<String, Object> param){
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
         Object tagId = param.get("tag_id");
         if (Cools.isEmpty(tagId)) {
             tagId = getOriginTag().getId();
@@ -104,10 +129,10 @@
 
     }
 
-    private void convert(Map<String, Object> map, EntityWrapper wrapper){
-        for (Map.Entry<String, Object> entry : map.entrySet()){
+    private void convert(Map<String, Object> map, EntityWrapper wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
             String val = String.valueOf(entry.getValue());
-            if (val.contains(RANGE_TIME_LINK)){
+            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]));
@@ -141,22 +166,101 @@
         if (null != matService.selectByMatnr(mat.getMatnr())) {
             return R.error("缂栧彿宸插瓨鍦�");
         }
-        Date now = new Date();
-        mat.setCreateBy(getUserId());
-        mat.setCreateTime(now);
-        mat.setUpdateBy(getUserId());
-        mat.setUpdateTime(now);
-        mat.setStatus(1);
-        if (!matService.insert(mat)) {
-            throw new CoolException("娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //鐧诲綍閲戣澏
+        ReturnT<String> start = loginAuthenticationHandler.start();
+
+        InFormIdParam inFormIdParam = new InFormIdParam();
+        inFormIdParam.setFormId("BD_MATERIAL");
+        inFormIdParam.setLimit(100);
+        inFormIdParam.setStartRow("0");
+        String FDocumentStatus = "C";
+        String FNumber=mat.getMatnr();
+        //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("FormId", inFormIdParam.getFormId());
+        jsonObject.put("Limit", inFormIdParam.getLimit());
+        jsonObject.put("StartRow", inFormIdParam.getStartRow());
+        jsonObject.put("FilterString", "FDocumentStatus='" + FDocumentStatus +"' and FNumber='"+FNumber+"' and FUseOrgId .FNumber='201'");
+        jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus");
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("data", jsonObject);
+        String add = jsonObject1.toJSONString();
+        //涓婃姤
+        String response = "";
+        boolean success = false;
+        try {
+            //鑾峰彇Cookie鍊�
+            HashMap<String, Object> headers = new HashMap<>();
+            headers.put("Cookie", start.getContent());
+            response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(URL)
+                    .setPath(inaddress)
+                    .setJson(add)
+                    .build()
+                    .doPost();
+            JSONArray data = JSON.parseArray(response);
+            if (data.getJSONArray(0).get(0).toString().length()<20) {
+                success = true;
+            JSONArray jsonArray = data.getJSONArray(0);
+            //鐢熸垚鍟嗗搧妗f
+            //鍟嗗搧缂栧彿
+            mat = matService.selectByMatnr(jsonArray.get(1).toString());
+            if (mat == null) {
+                mat = new Mat();
+                Tag tag = new Tag();
+                mat.setMatnr(jsonArray.get(1).toString());
+                mat.setMaktx(jsonArray.get(0).toString());
+                mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
+                mat.setTagId(20L);
+                //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
+                String format = dateFormat.format(dateTime);
+                Date date = sdf.parse(format);
+                mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿
+                mat.setUpdateTime(new Date());
+                mat.setStatus(1);
+                //鏈�鏂版姄鍙栧晢鍝佹椂闂�
+                tag.setCreateTime(date);
+                tagService.update(tag, new EntityWrapper<Tag>().eq("id", 20));
+                if (!matService.insert(mat)) {
+                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                } else {
+                    log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+                }
+            }
+            }else {
+                throw new CoolException("娌℃湁鎵惧埌鎸囧畾鐗╂枡妗f锛岃鑱旂郴绠$悊鍛�");
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "杞鏁版嵁",
+                        URL + inaddress,
+                        null,
+                        "127.0.0.1",
+                        add,
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
         }
         return R.ok();
     }
 
-	@RequestMapping(value = "/mat/update/auth")
-	@ManagerAuth
-    public R update(Mat mat){
-        if (Cools.isEmpty(mat) || null==mat.getId()){
+    @RequestMapping(value = "/mat/update/auth")
+    @ManagerAuth
+    public R update(Mat mat) {
+        if (Cools.isEmpty(mat) || null == mat.getId()) {
             return R.error();
         }
         mat.setUpdateBy(getUserId());
@@ -168,13 +272,13 @@
     @RequestMapping(value = "/mat/delete/auth")
     @ManagerAuth
     @Transactional
-    public R delete(@RequestParam String param){
+    public R delete(@RequestParam String param) {
         List<Mat> list = JSONArray.parseArray(param, Mat.class);
-        if (Cools.isEmpty(list)){
+        if (Cools.isEmpty(list)) {
             return R.error();
         }
 
-        for (Mat entity : list){
+        for (Mat entity : list) {
             LocDetl locDetl = locDetlService.selectByMatnr(entity.getMatnr());
             if (!Cools.isEmpty(locDetl)) {
                 throw new CoolException("褰撳墠鐗╂枡鍦ㄥ簱锛屾棤娉曞垹闄わ紒");
@@ -188,7 +292,7 @@
 
     @RequestMapping(value = "/mat/export/auth")
     @ManagerAuth
-    public R export(@RequestBody JSONObject param){
+    public R export(@RequestBody JSONObject param) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         Map<String, Object> map = excludeTrash(param.getJSONObject("mat"));
@@ -204,7 +308,7 @@
         wrapper.like("matnr", condition).or().like("maktx", condition);
         Page<Mat> page = matService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (Mat mat : page.getRecords()){
+        for (Mat mat : page.getRecords()) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", mat.getId());
             map.put("value", mat.getMatnr() + "(" + mat.getMaktx() + ")");
@@ -217,7 +321,7 @@
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
         Wrapper<Mat> wrapper = new EntityWrapper<Mat>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
-        if (null != matService.selectOne(wrapper)){
+        if (null != matService.selectOne(wrapper)) {
             return R.parse(BaseRes.REPEAT).add(getComment(Mat.class, String.valueOf(param.get("key"))));
         }
         return R.ok();
@@ -244,7 +348,7 @@
             , @RequestParam String param
             , HttpServletResponse response) throws Exception {
         AdminInterceptor.cors(response);
-        if (Cools.isEmpty(param)){
+        if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.EMPTY);
         }
         BufferedImage img;
@@ -265,11 +369,11 @@
     @RequestMapping(value = "/mat/print/auth")
     @ManagerAuth(memo = "鍟嗗搧缂栫爜鎵撳嵃")
     public R matCodePrint(@RequestParam(value = "param[]") String[] param) {
-        if(Cools.isEmpty(param)) {
+        if (Cools.isEmpty(param)) {
             return R.parse(CodeRes.EMPTY);
         }
         List<MatPrint> res = new ArrayList<>();
-        for (String matnr : param){
+        for (String matnr : param) {
             Mat mat = matService.selectByMatnr(matnr);
             // 鎵撳嵃鏁版嵁娉ㄥ叆
             MatPrint print = new MatPrint();
@@ -310,7 +414,7 @@
     public R matExcelImport(MultipartFile file) throws IOException {
         MatExcelListener listener = new MatExcelListener(getUserId());
         EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
-        return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+        return R.ok("鎴愬姛鍚屾" + listener.getTotal() + "鏉″晢鍝佹暟鎹�");
     }
 
     /*************************************** xm-select ***********************************************/
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index e65522e..3cb5159 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -8,16 +10,25 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.InFormIdParam;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
 import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
-
+@Slf4j
 @RestController
 public class OrderController extends BaseController {
 
@@ -35,6 +46,26 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private LocDetlService locDetlService;
+    @Value("${erp.address.URL}")
+    //绔彛
+    private String URL;
+
+    @Value("${erp.address.inaddress}")
+    //鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
+    private String inaddress;
+
+    @Autowired
+    private ApiLogService apiLogService;
+
+    @Autowired
+    private LoginAuthenticationHandler loginAuthenticationHandler;
+
+    @Autowired
+    private MatService matService;
+
+    @Autowired
+    private TagService tagService;
+
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -426,6 +457,202 @@
         return R.ok("璁㈠崟娣诲姞鎴愬姛");
     }
 
+    @RequestMapping(value = "/order/form/KingDeeadd/authtest")
+    @ManagerAuth(memo = "鏍规嵁璁㈠崟绫诲瀷鍜岃鍗曠爜娣诲姞")
+    @Transactional
+    public R KingDeeformAddTest(@RequestBody OrderDomainParam param){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //鐧诲綍閲戣澏
+        ReturnT<String> start = loginAuthenticationHandler.start();
+        InFormIdParam inFormIdParam = new InFormIdParam();
+        //鏁伴噺瀛楁ncompatible types. Found: 'java.lang.Long', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
+        String anfme =null;
+        int i=Long.valueOf(param.getDocType()).intValue();
+        switch (i){
+            //閲囪喘鍏ュ簱
+            case 13 : inFormIdParam.setFormId("STK_InStock");anfme ="FRealQty"; break;
+            //閲囪喘閫�鏂�
+            case 21 : inFormIdParam.setFormId("PUR_MRB");anfme ="FRMREALQTY"; break;
+            //鐢熶骇棰嗘枡
+            case 22 : inFormIdParam.setFormId("PRD_PickMtrl");anfme ="FActualQty"; break;
+            //鐢熶骇閫�鏂�
+            case 24 : inFormIdParam.setFormId("PRD_ReturnMtrl");anfme ="FQty"; break;
+            //鐢熶骇琛ユ枡
+            case 25 : inFormIdParam.setFormId("PRD_FeedMtrl");anfme ="FActualQty"; break;
+            //鐩存帴璋冩嫧鍗�
+            case 26 : inFormIdParam.setFormId("STK_TransferDirect");anfme ="FQty"; break;
+            //鐩樼泩鍗�
+            case 28 : inFormIdParam.setFormId("STK_StockCountGain");anfme ="FGainQty"; break;
+            //鐩樹簭鍗�
+            case 29 : inFormIdParam.setFormId("STK_StockCountLoss");anfme ="FLossQty"; break;
+            //鍏朵粬鍑哄簱
+            case 30 : inFormIdParam.setFormId("STK_MisDelivery");anfme ="FQty"; break;
+            //绠�鍗曠敓浜ч鏂�
+            case 31 : inFormIdParam.setFormId("SP_PickMtrl");anfme ="FActualQty"; break;
+            //绠�鍗曠敓浜ч��鏂�
+            case 32 : inFormIdParam.setFormId("SP_ReturnMtrl");anfme ="FQty"; break;
+            //閿�鍞嚭搴�
+            case 14 : inFormIdParam.setFormId("SAL_OUTSTOCK");anfme ="FRealQty"; break;
+            //閿�鍞��璐�
+            case 33 : inFormIdParam.setFormId("SAL_RETURNSTOCK");anfme ="FRealQty"; break;
+        }
+        inFormIdParam.setLimit(100);
+        inFormIdParam.setStartRow("0");
+        String FDocumentStatus = "B";
+
+        //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("FormId", inFormIdParam.getFormId());
+        jsonObject.put("Limit", inFormIdParam.getLimit());
+        jsonObject.put("StartRow", inFormIdParam.getStartRow());
+        //鍗曟嵁鐘舵��
+        FDocumentStatus="B";
+        //璁㈠崟鐮�
+        String orderNo= param.getOrderNo();
+        jsonObject.put("FilterString", "FBillNo='"+orderNo+"'and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'");
+        jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+anfme+",FDocumentStatus");
+        // FBillNo :鍗曟嵁缂栧彿锛�
+        // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱
+        // FMaterialId.FNumber : 鐗╂枡缂栫爜锛�
+        // FMaterialName 锛氱墿鏂欏悕绉帮紱
+        // FMaterialId.FSpecification锛氱墿鏂欒鏍�
+        // anfme : 鐗╂枡鏁伴噺
+        // FDocumentStatus 锛氬崟鎹姸鎬侊紱
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("data", jsonObject);
+        String add = jsonObject1.toJSONString();
+
+        //涓婃姤
+        String response = "";
+        boolean success = false;
+        try {
+            //鑾峰彇Cookie鍊�
+            HashMap<String, Object> headers = new HashMap<>();
+            headers.put("Cookie", start.getContent());
+            response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(URL)
+                    .setPath(inaddress)
+                    .setJson(add)
+                    .build()
+                    .doPost();
+            JSONArray data = JSON.parseArray(response);
+            if(data.getJSONArray(0).get(0).toString().length()<20){
+                success = true;
+                for (int j = 0; j < data.size(); j++) {
+                    JSONArray jsonArray = data.getJSONArray(j);
+                    Order order = orderService.selectByNo(jsonArray.get(0).toString());
+                    if (Cools.isEmpty(order)) {
+                        DocType docType = docTypeService.selectById(param.getDocType());
+                        Date now = new Date();
+                        // 鍗曟嵁涓绘。
+                        order = new Order(
+                                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                                jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
+                                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                                docType.getDocId(),    // 鍗曟嵁绫诲瀷
+                                null,    // 椤圭洰缂栧彿
+                                null,    //
+                                null,    // 璋冩嫧椤圭洰缂栧彿
+                                null,    // 鍒濆绁ㄦ嵁鍙�
+                                null,    // 绁ㄦ嵁鍙�
+                                null,    // 瀹㈡埛缂栧彿
+                                null,    // 瀹㈡埛
+                                null,    // 鑱旂郴鏂瑰紡
+                                null,    // 鎿嶄綔浜哄憳
+                                null,    // 鍚堣閲戦
+                                null,    // 浼樻儬鐜�
+                                null,    // 浼樻儬閲戦
+                                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                                null,    // 瀹炰粯閲戦
+                                null,    // 浠樻绫诲瀷
+                                null,    // 涓氬姟鍛�
+                                null,    // 缁撶畻澶╂暟
+                                null,    // 閭垂鏀粯绫诲瀷
+                                null,    // 閭垂
+                                null,    // 浠樻鏃堕棿
+                                null,    // 鍙戣揣鏃堕棿
+                                null,    // 鐗╂祦鍚嶇О
+                                null,    // 鐗╂祦鍗曞彿
+                                1L,    // 璁㈠崟鐘舵��
+                                1,    // 鐘舵��
+                                9527L,    // 娣诲姞浜哄憳
+                                now,    // 娣诲姞鏃堕棿
+                                9527L,    // 淇敼浜哄憳
+                                now,    // 淇敼鏃堕棿
+                                null    // 澶囨敞
+                        );
+                        //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                        String format = dateFormat.format(dateTime);
+                        Date date = sdf.parse(format);
+                        //鏈�鏂版姄鍙栨椂闂�
+                        docType.setCreateTime(date);
+                        docTypeService.update(docType, new EntityWrapper<DocType>().eq("doc_id", param.getDocType()));
+                        if (!orderService.insert(order)) {
+                            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+                        }
+                    }
+                    //鐗╂枡缂栫爜
+                    Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
+                    if (Cools.isEmpty(mat)) {
+                        throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                    }
+                    OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
+                    if (!Cools.isEmpty(orderDetl1)) {
+                        continue;
+                    }
+                    DocType docType = docTypeService.selectById(param.getDocType());
+                    OrderDetl orderDetl = new OrderDetl();
+                    orderDetl.sync(mat);
+                    orderDetl.setBatch(null);
+                    orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
+                    orderDetl.setOrderId(order.getId());
+                    orderDetl.setOrderNo(order.getOrderNo());
+                    orderDetl.setCreateBy(9527L);
+                    orderDetl.setCreateTime(new Date());
+                    orderDetl.setUpdateBy(9527L);
+                    orderDetl.setUpdateTime(new Date());
+                    orderDetl.setStatus(1);
+                    orderDetl.setQty(0.0D);
+                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                    String format = dateFormat.format(dateTime);
+                    Date date = sdf.parse(format);
+                    //鏈�鏂版姄鍙栨椂闂�
+                    docType.setCreateTime(date);
+                    if (!orderDetlService.insert(orderDetl)) {
+                        throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                    }
+                }
+            }else{
+                throw new CoolException("娌℃湁鎵惧埌鎸囧畾璁㈠崟锛岃鑱旂郴绠$悊鍛�");
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "杞鏁版嵁",
+                        URL + inaddress,
+                        null,
+                        "127.0.0.1",
+                        add,
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
+        }
+        return R.ok("璁㈠崟娣诲姞鎴愬姛");
+    }
+
 
 
 
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index ca000fd..bd7fc57 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -138,7 +138,7 @@
                 DocType docType= docTypeService.selectById(docName);
                 //鍗曟嵁鐘舵��
                 FDocumentStatus="B";
-                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"' and FDocumentStatus='"+FDocumentStatus+"'");
+                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"'and FStockId.Fname='绔嬪簱'"+"' and FDocumentStatus='"+FDocumentStatus+"'");
                 jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+anfme+",FDocumentStatus");
                 // FBillNo :鍗曟嵁缂栧彿锛�
                 // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱
@@ -167,131 +167,134 @@
                         .build()
                         .doPost();
                 JSONArray data = JSON.parseArray(response);
-                if(data.size()>0){
-                    success = true;
-                }
-                if(i==0){
-                    for (int j = 0; j < data.size(); j++) {
-                        JSONArray jsonArray = data.getJSONArray(j);
-                        //鐢熸垚鍟嗗搧妗f
-                        //鍟嗗搧缂栧彿
-                        Mat mat = matService.selectByMatnr(jsonArray.get(1).toString());
-                        if (mat == null) {
-                            mat = new Mat();
-                            Tag tag=new Tag();
-                            mat.setMatnr(jsonArray.get(1).toString());
-                            mat.setMaktx(jsonArray.get(0).toString());
-                            mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
-                            mat.setTagId(20L);
-                            //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-                            DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
-                            DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-                            LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
-                            String format = dateFormat.format(dateTime);
-                            Date date = sdf.parse(format);
-                            mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿
-                            mat.setUpdateTime(new Date());
-                            mat.setStatus(1);
-                            //鏈�鏂版姄鍙栧晢鍝佹椂闂�
-                            tag.setCreateTime(date);
-                        tagService.update(tag,new EntityWrapper<Tag>().eq("id",20));
-                        if (!matService.insert(mat)) {
-                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                if(data.size()>0) {
+                if (data.getJSONArray(0).get(0).toString().length()<20) {
+                        if (i == 0) {
+                            for (int j = 0; j < data.size(); j++) {
+                                JSONArray jsonArray = data.getJSONArray(j);
+                                //鐢熸垚鍟嗗搧妗f
+                                //鍟嗗搧缂栧彿
+                                Mat mat = matService.selectByMatnr(jsonArray.get(1).toString());
+                                if (mat == null) {
+                                    mat = new Mat();
+                                    Tag tag = new Tag();
+                                    mat.setMatnr(jsonArray.get(1).toString());
+                                    mat.setMaktx(jsonArray.get(0).toString());
+                                    mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
+                                    mat.setTagId(20L);
+                                    //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
+                                    String format = dateFormat.format(dateTime);
+                                    Date date = sdf.parse(format);
+                                    mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿
+                                    mat.setUpdateTime(new Date());
+                                    mat.setStatus(1);
+                                    //鏈�鏂版姄鍙栧晢鍝佹椂闂�
+                                    tag.setCreateTime(date);
+                                    tagService.update(tag, new EntityWrapper<Tag>().eq("id", 20));
+                                    if (!matService.insert(mat)) {
+                                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                                    } else {
+                                        log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+                                    }
+                                }
+                            }
                         } else {
-                            log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+                            for (int j = 0; j < data.size(); j++) {
+                                JSONArray jsonArray = data.getJSONArray(j);
+                                Order order = orderService.selectByNo(jsonArray.get(0).toString());
+                                if (Cools.isEmpty(order)) {
+                                    DocType docType = docTypeService.selectById(docName);
+                                    Date now = new Date();
+                                    // 鍗曟嵁涓绘。
+                                    order = new Order(
+                                            String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                                            jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
+                                            DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                                            docType.getDocId(),    // 鍗曟嵁绫诲瀷
+                                            null,    // 椤圭洰缂栧彿
+                                            null,    //
+                                            null,    // 璋冩嫧椤圭洰缂栧彿
+                                            null,    // 鍒濆绁ㄦ嵁鍙�
+                                            null,    // 绁ㄦ嵁鍙�
+                                            null,    // 瀹㈡埛缂栧彿
+                                            null,    // 瀹㈡埛
+                                            null,    // 鑱旂郴鏂瑰紡
+                                            null,    // 鎿嶄綔浜哄憳
+                                            null,    // 鍚堣閲戦
+                                            null,    // 浼樻儬鐜�
+                                            null,    // 浼樻儬閲戦
+                                            null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                                            null,    // 瀹炰粯閲戦
+                                            null,    // 浠樻绫诲瀷
+                                            null,    // 涓氬姟鍛�
+                                            null,    // 缁撶畻澶╂暟
+                                            null,    // 閭垂鏀粯绫诲瀷
+                                            null,    // 閭垂
+                                            null,    // 浠樻鏃堕棿
+                                            null,    // 鍙戣揣鏃堕棿
+                                            null,    // 鐗╂祦鍚嶇О
+                                            null,    // 鐗╂祦鍗曞彿
+                                            1L,    // 璁㈠崟鐘舵��
+                                            1,    // 鐘舵��
+                                            9527L,    // 娣诲姞浜哄憳
+                                            now,    // 娣诲姞鏃堕棿
+                                            9527L,    // 淇敼浜哄憳
+                                            now,    // 淇敼鏃堕棿
+                                            null    // 澶囨敞
+                                    );
+                                    //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                                    String format = dateFormat.format(dateTime);
+                                    Date date = sdf.parse(format);
+                                    //鏈�鏂版姄鍙栨椂闂�
+                                    docType.setCreateTime(date);
+                                    docTypeService.update(docType, new EntityWrapper<DocType>().eq("doc_id", docName));
+                                    if (!orderService.insert(order)) {
+                                        throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+                                    }
+                                }
+                                //鐗╂枡缂栫爜
+                                Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
+                                if (Cools.isEmpty(mat)) {
+                                    throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                                }
+                                OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
+                                if (!Cools.isEmpty(orderDetl1)) {
+                                    continue;
+                                }
+                                DocType docType = docTypeService.selectById(docName);
+                                OrderDetl orderDetl = new OrderDetl();
+                                orderDetl.sync(mat);
+                                orderDetl.setBatch(null);
+                                orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
+                                orderDetl.setOrderId(order.getId());
+                                orderDetl.setOrderNo(order.getOrderNo());
+                                orderDetl.setCreateBy(9527L);
+                                orderDetl.setCreateTime(new Date());
+                                orderDetl.setUpdateBy(9527L);
+                                orderDetl.setUpdateTime(new Date());
+                                orderDetl.setStatus(1);
+                                orderDetl.setQty(0.0D);
+                                DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                                String format = dateFormat.format(dateTime);
+                                Date date = sdf.parse(format);
+                                //鏈�鏂版姄鍙栨椂闂�
+                                docType.setCreateTime(date);
+                                if (!orderDetlService.insert(orderDetl)) {
+                                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                                }
+                            }
                         }
-                        }
+                    }else {
                     }
                 }else {
-                    for(int j=0;j<data.size();j++){
-                        JSONArray jsonArray = data.getJSONArray(j);
-                         Order order = orderService.selectByNo(jsonArray.get(0).toString());
-                        if (Cools.isEmpty(order)) {
-                        DocType docType = docTypeService.selectById(docName);
-                        Date now = new Date();
-                        // 鍗曟嵁涓绘。
-                        order = new Order(
-                                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                                jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
-                                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
-                                docType.getDocId(),    // 鍗曟嵁绫诲瀷
-                                null,    // 椤圭洰缂栧彿
-                                null,    //
-                                null,    // 璋冩嫧椤圭洰缂栧彿
-                                null,    // 鍒濆绁ㄦ嵁鍙�
-                                null,    // 绁ㄦ嵁鍙�
-                                null,    // 瀹㈡埛缂栧彿
-                                null,    // 瀹㈡埛
-                                null,    // 鑱旂郴鏂瑰紡
-                                null,    // 鎿嶄綔浜哄憳
-                                null,    // 鍚堣閲戦
-                                null,    // 浼樻儬鐜�
-                                null,    // 浼樻儬閲戦
-                                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
-                                null,    // 瀹炰粯閲戦
-                                null,    // 浠樻绫诲瀷
-                                null,    // 涓氬姟鍛�
-                                null,    // 缁撶畻澶╂暟
-                                null,    // 閭垂鏀粯绫诲瀷
-                                null,    // 閭垂
-                                null,    // 浠樻鏃堕棿
-                                null,    // 鍙戣揣鏃堕棿
-                                null,    // 鐗╂祦鍚嶇О
-                                null,    // 鐗╂祦鍗曞彿
-                                1L,    // 璁㈠崟鐘舵��
-                                1,    // 鐘舵��
-                                9527L,    // 娣诲姞浜哄憳
-                                now,    // 娣诲姞鏃堕棿
-                                9527L,    // 淇敼浜哄憳
-                                now,    // 淇敼鏃堕棿
-                                null    // 澶囨敞
-                        );
-                        //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
-                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
-                        String format = dateFormat.format(dateTime);
-                        Date date = sdf.parse(format);
-                        //鏈�鏂版姄鍙栨椂闂�
-                        docType.setCreateTime(date);
-                        docTypeService.update(docType,new EntityWrapper<DocType>().eq("doc_id",docName));
-                        if (!orderService.insert(order)) {
-                            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-                        }
-                        }
-                        //鐗╂枡缂栫爜
-                        Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
-                        if (Cools.isEmpty(mat)) {
-                            throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
-                        }
-                        OrderDetl orderDetl1=orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",jsonArray.get(0).toString()).eq("matnr",jsonArray.get(2).toString()));
-                        if(!Cools.isEmpty(orderDetl1)){
-                            continue;
-                        }
-                        DocType docType = docTypeService.selectById(docName);
-                        OrderDetl orderDetl = new OrderDetl();
-                        orderDetl.sync(mat);
-                        orderDetl.setBatch(null);
-                        orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
-                        orderDetl.setOrderId(order.getId());
-                        orderDetl.setOrderNo(order.getOrderNo());
-                        orderDetl.setCreateBy(9527L);
-                        orderDetl.setCreateTime(new Date());
-                        orderDetl.setUpdateBy(9527L);
-                        orderDetl.setUpdateTime(new Date());
-                        orderDetl.setStatus(1);
-                        orderDetl.setQty(0.0D);
-                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
-                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
-                        String format = dateFormat.format(dateTime);
-                        Date date = sdf.parse(format);
-                        //鏈�鏂版姄鍙栨椂闂�
-                        docType.setCreateTime(date);
-                        if (!orderDetlService.insert(orderDetl)) {
-                            throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-                        }
-                    }
                 }
             } catch (Exception e) {
                 log.error("fail", e);
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 0fa6ccc..7638467 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -119,6 +119,9 @@
             case 'addData':
                 showEditModel()
                 break;
+            case 'kingAddData':
+                KingShowEditModel()
+                break;
             case 'deleteData':
                 var data = checkStatus.data;
                 if (data.length === 0){
@@ -309,6 +312,74 @@
         });
     }
 
+    function KingShowEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '600px',
+            title: '鎸囧畾娣诲姞鍟嗗搧',
+            content: $('#KingEditDialog').html(),
+            success: function (layero, dIndex) {
+                // 鍥炴樉琛ㄥ崟鏁版嵁
+                form.val('detail', mData);
+                // 鏂板鑷姩鐢熸垚鍟嗗搧缂栧彿
+                if (!mData) {
+                    http.get(baseUrl + "/mat/auto/matnr/auth", null, function (res) {
+                        $('#matnr1').val(res.data);
+                    })
+                }
+                console.log("----------------------------------")
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(editSubmit1)', function (data) {
+                    console.log(data)
+                    data.field.tagId = 20;
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/mat/KingDeeadd/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});
+                                $(".layui-laypage-btn")[0].click();
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                // 娓叉煋涓嬫媺鏍�
+                var insXmSel = xmSelect.render({
+                    el: '#tagSel',
+                    height: '250px',
+                    data: insTb.options.data,
+                    initValue: mData ? [mData.tagId] : [],
+                    model: {label: {type: 'text'}},
+                    prop: {
+                        name: 'name',
+                        value: 'id'
+                    },
+                    radio: true,
+                    clickClose: true,
+                    tree: {
+                        show: true,
+                        indent: 15,
+                        strict: false,
+                        expandedKeys: true
+                    }
+                });
+                // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                layui.form.render('select');
+            }
+        });
+    }
+
     // 妯℃澘閫夋嫨
     form.on('radio(selectTemplateRadio)', function (data) {
         $('.template-preview').hide();
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 7214d80..f7f277a 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -87,6 +87,11 @@
         showEditModel();
     });
 
+    // 娣诲姞鎸囧畾璁㈠崟
+    $("#KingOrderAddBtn").click(function () {
+        KingShowEditModel();
+    });
+
     // 宸ュ叿鏉$偣鍑讳簨浠�
     table.on('tool(order)', function (obj) {
         var data = obj.data;
@@ -405,6 +410,232 @@
         });
     }
 
+    function KingShowEditModel(expTpe) {
+        console.log(expTpe)
+        admin.open({
+            type: 1,
+            title: '娣诲姞鎸囧畾鍗曟嵁',
+            content: $('#KingEditDialog').html(),
+            area: '1300px',
+            success: function (layero, dIndex) {
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                var isExpAdd = !expTpe;
+                // 鍥炴樉鏁版嵁
+                form.val('KingEditForm', expTpe);
+                if (expTpe) {
+                    $('#orderNo').attr("disabled", "disabled");
+                }
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(orderEditSubmit1)', function (data) {
+                    let nList = admin.util.deepClone(xxDataList);
+                    layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/order/form/KingDeeadd/authtest",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify({
+                            orderId: Number(data.field.id),
+                            docType: Number(data.field.docType),
+                            orderNo: data.field.orderNo,
+                            orderDetlList: nList
+                        }),
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll('loading');
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                $(".layui-laypage-btn")[0].click();
+                                layer.msg(res.msg, {icon: 1});
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                // 鏄庣粏琛ㄦ牸
+                var xxDataList = [];
+                var tbOptions = {
+                    elem: '#formSSXMTable',
+                    headers: {token: localStorage.getItem('token')},
+                    data: xxDataList,
+                    page: true,
+                    height: '350px;',
+                    cellMinWidth: 100,
+                    cols: [[
+                        {type: 'numbers', title: '#'},
+                        {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+                        {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
+                        {field: 'batch', title: '鎵瑰彿', edit: true},
+                        {field: 'specs', title: '瑙勬牸'},
+                        {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
+                        {field: 'workQty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
+                        // {field: 'unit', title: '鍗曚綅', width: 80},
+                        {field: 'memo', title: '澶囨敞' , edit: true},
+                        {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
+                    ]],
+                    done: function (res) {
+                        $(layero).find('.layui-table-view').css('margin', '0');
+                    },
+                    size: ''
+                };
+                if (!isExpAdd) {
+                    $.ajax({
+                        url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id,
+                        headers: {'token': localStorage.getItem('token')},
+                        method: 'GET',
+                        async: false,
+                        success: function (res) {
+                            if (res.code === 200){
+                                xxDataList = res.data;
+                                tbOptions.data = xxDataList;
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2})
+                            }
+                        }
+                    })
+                }
+                var insTbSSXM = table.render(tbOptions);
+                // 宸ュ叿鏉$偣鍑讳簨浠�
+                table.on('tool(formSSXMTable)', function (obj) {
+                    var data = obj.data;
+                    var layEvent = obj.event;
+                    if (layEvent === 'edit') {
+                        showEditModel2(data);
+                    } else if (layEvent === 'del') {
+                        if(data.workQty > 0){
+                            layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+                            return;
+                        }
+                        layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+                            shade: .1,
+                            skin: 'layui-layer-admin'
+                        }, function (i) {
+                            layer.close(i);
+                            for (var j = 0; j < xxDataList.length; j++) {
+                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) {
+                                    xxDataList.splice(j, 1);
+                                    break;
+                                }
+                            }
+                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                        });
+                    }
+                });
+                // 鏄庣粏鏁版嵁淇敼
+                table.on('edit(formSSXMTable)', function (obj) {
+                    let index = obj.tr.attr("data-index");
+                    let data = xxDataList[index];
+                    if (obj.field === 'anfme'){
+                        let vle = Number(obj.value);
+                        if (isNaN(vle)) {
+                            layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+                            return false;
+                        } else {
+                            if (vle <= 0) {
+                                layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                            if(obj.value < data.workQty){
+                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                        }
+                    }
+                    data[obj.field] = obj.value;
+                    insTbSSXM.reload({data: xxDataList});
+                });
+
+                $('#matAddBtnComment').click(function () {
+                    showEditModel2();
+                });
+
+                // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥
+                function showEditModel2(exp) {
+                    admin.open({
+                        type: 1,
+                        offset: '150px',
+                        area: '680px',
+                        title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
+                        content: $('#matEditDialog').html(),
+                        success: function (layero, dIndex) {
+                            // 鍥炴樉鏁版嵁
+                            form.val('matEditForm', exp);
+                            // 琛ㄥ崟鎻愪氦浜嬩欢
+                            form.on('submit(matEditSubmit)', function (data) {
+                                let selectList = matXmSelect.getValue();
+                                for (let i = 0; i<selectList.length; i++) {
+                                    let item = selectList[i];
+                                    // 鏌ヨ鐗╂枡璇︽儏
+                                    $.ajax({
+                                        url: baseUrl+"/mat/covert/"+item.value+"/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'GET',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                xxDataList.push(res.data);
+                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }
+                                layer.close(dIndex);
+                                return false;
+                            });
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect = xmSelect.render({
+                                el: '#mat',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/mat/all/get/kv",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        data: {
+                                            condition: val
+                                        },
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+
+                            // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                            layui.form.render('select');
+                        }
+                    });
+                }
+
+            }
+        });
+    }
+
     // 鍒犻櫎鍗曟嵁
     function doDel(orderId) {
         layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 3c83dc8..f3fa219 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -122,6 +122,7 @@
         <button class="layui-btn layui-btn-sm" id="btn-print-batch" lay-event="btnPrintBatch">鎵归噺鎵撳嵃</button>
         <button class="layui-btn layui-btn-sm layui-btn-normal" 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-sm layui-btn-normal" id="king-btn-add" lay-event="kingAddData">娣诲姞鎸囧畾鐗╂枡</button>
         <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
         <div class="dropdown-menu" style="float: right">
             <button class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm">&nbsp;鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>
@@ -155,6 +156,44 @@
 <script type="text/javascript" src="../../static/js/tagTree.js" charset="utf-8"></script>
 
 <!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="KingEditDialog">
+    <form id="KingDetail" lay-filter="detail" class="layui-form admin-form">
+        <input name="id" type="hidden">
+        <input name="uuid" type="hidden">
+        <input name="nodeId" type="hidden">
+        <input name="tag_id" type="hidden">
+        <input name="model" type="hidden">
+        <input name="name" type="hidden">
+        <input name="batch" type="hidden">
+        <input name="docId" type="hidden">
+        <input name="docNum" type="hidden">
+        <input name="custName" type="hidden">
+        <input name="itemNum" type="hidden">
+        <input name="count" type="hidden">
+        <input name="weight" type="hidden">
+        <input name="status" type="hidden">
+        <input name="createBy" type="hidden">
+        <input name="updateTime$" type="hidden">
+        <input name="updateBy" type="hidden">
+        <div class="layui-row">
+
+            <div class="layui-col-md6">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍟嗗搧缂栧彿</label>
+                    <div class="layui-input-block">
+                        <input id="matnr1" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit1" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+
 <script type="text/html" id="editDialog">
     <form id="detail" lay-filter="detail" class="layui-form admin-form">
         <input name="id" type="hidden">
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 6f6141e..58c33b6 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -73,6 +73,8 @@
                         </button>
                         <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>娣诲姞
                         </button>
+                        <button id="KingOrderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>娣诲姞鎸囧畾璁㈠崟
+                        </button>
                     </div>
                 </div>
             </div>
@@ -163,6 +165,37 @@
         </div>
     </form>
 </script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="KingEditDialog">
+    <form id="KingEditForm" lay-filter="editForm" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label">鍗曟嵁绫诲瀷锛�</label>
+            <div class="layui-input-block cool-auto-complete">
+                <input class="layui-input" name="docType" placeholder="璇疯緭鍏ュ崟鎹被鍨�" style="display: none">
+                <input id="docType$" name="docType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ崟鎹被鍨�" onfocus=this.blur() lay-verType="tips" lay-verify="required">
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="docTypeQueryBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">鍗曟嵁缂栧彿锛�</label>
+            <div class="layui-input-block">
+                <input id="orderNo" name="orderNo" placeholder="杈撳叆鍗曟嵁缂栧彿" type="text" class="layui-input" maxlength="20" lay-verType="tips" />
+                <!--                lay-verify="required"-->
+            </div>
+        </div>
+        <div class="layui-form-item text-right">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="orderEditSubmit1" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="formSSXMTableBar">
     <!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->

--
Gitblit v1.9.1