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"> 鏁版嵁鍚屾 <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"></i>娣诲姞 </button> + <button id="KingOrderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></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