src/main/java/com/zy/asrs/controller/OpenController.java
@@ -5,6 +5,8 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.u8.ReportU8Vo; import com.zy.asrs.entity.u8.U8ResultVo; import com.zy.asrs.service.OpenService; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; @@ -33,6 +35,24 @@ @Autowired private OpenService openService; @PostMapping("/purchasein_import") @AppAuth(memo = "订å䏿¥æµè¯æ¥å£") public synchronized List<U8ResultVo> ts(@RequestHeader(required = false) String appkey, @RequestBody(required = false) List<ReportU8Vo> param, HttpServletRequest request){ List<U8ResultVo> u8ResultVos = new ArrayList<>(); for(ReportU8Vo reportU8Vo: param) { U8ResultVo u8ResultVo = new U8ResultVo(); u8ResultVo.setResult("T"); u8ResultVo.setDescription(""); u8ResultVo.setReceiptNo(reportU8Vo.getCvouchcode()); u8ResultVo.setU8ReceiptNo(""); u8ResultVos.add(u8ResultVo); } return u8ResultVos; } @PostMapping("/order/matSync/default/v1") @AppAuth(memo = "ååä¿¡æ¯åæ¥") public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey, src/main/java/com/zy/asrs/entity/u8/ReportU8Vo.java
New file @@ -0,0 +1,160 @@ package com.zy.asrs.entity.u8; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; /** * @author pang.jiabao * @description 䏿¥U8请æ±ä½ * @createDate 2026/3/27 14:02 */ @Data public class ReportU8Vo { /** * è´¦å¥å· */ @JsonProperty("CACCID") @JSONField(name = "CACCID") private String caccid; /** * åå· */ @JsonProperty("CVOUCHCODE") @JSONField(name = "CVOUCHCODE") private String cvouchcode; /** * æ¥æï¼æ ¼å¼2015-01-01ï¼ */ @JsonProperty("DDATE") @JSONField(name = "DDATE") private String ddate; /** * å ³èåæ®ç±»å */ @JsonProperty("CGLTYPE") @JSONField(name = "CGLTYPE") private String cgltype; /** * ä»åºç¼ç */ @JsonProperty("CWHCODE") @JSONField(name = "CWHCODE") private String cwhcode; /** * å ¥åºç±»å« */ @JsonProperty("CRDCODE") @JSONField(name = "CRDCODE") private String crdcode; /** * å¶å人 */ @JsonProperty("CMAKER") @JSONField(name = "CMAKER") private String cmaker; /** * å®¡æ ¸äºº */ @JsonProperty("CHANDLER") @JSONField(name = "CHANDLER") private String chandler; /** * æç»å表 */ @JsonProperty("DETAILList") @JSONField(name = "DETAILList") private List<Item> detailList; @Data public static class Item { /** * åè´§ç¼ç */ @JsonProperty("CINVCODE") @JSONField(name = "CINVCODE") private String cinvcode; /** * 主计éå使°éï¼ç²¾åº¦åU8åºç¡è®¾ç½®çæ°æ®ç²¾åº¦ï¼ */ @JsonProperty("IQUANTITY") @JSONField(name = "IQUANTITY") private Double iquantity; /** * æ¹å· */ @JsonProperty("CBATCH") @JSONField(name = "CBATCH") private String cbatch; /** * éè´åå ³èæç»ID */ @JsonProperty("AUTOID_PO") @JSONField(name = "AUTOID_PO") private String autoidPo; /** * 订åæç»ID对åºå段å */ @JsonProperty("POAUTOIDCOL") @JSONField(name = "POAUTOIDCOL") private String poautoidcol; /** * åè´§åå ³èæç»ID */ @JsonProperty("AUTOID_SO") @JSONField(name = "AUTOID_SO") private String autoidSo; /** * 订åæç»ID对åºå段å */ @JsonProperty("SOAUTOIDCOL") @JSONField(name = "SOAUTOIDCOL") private String soautoidcol; /** * ç产订åå ³èæç»ID */ @JsonProperty("AUTOID_MO") @JSONField(name = "AUTOID_MO") private String autoidMo; /** * 订åæç»ID对åºå段å */ @JsonProperty("MOAUTOIDCOL") @JSONField(name = "MOAUTOIDCOL") private String moautoidcol; /** * ææç±»åå ³èæç»ID */ @JsonProperty("AUTOID_ALL") @JSONField(name = "AUTOID_ALL") private String autoidAll; /** * 订åæç»ID对åºå段å */ @JsonProperty("ALLCAUTOIDCOL") @JSONField(name = "ALLCAUTOIDCOL") private String allcautoidcol; } } src/main/java/com/zy/asrs/entity/u8/U8ResultVo.java
New file @@ -0,0 +1,38 @@ package com.zy.asrs.entity.u8; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; /** * @author pang.jiabao * @description U8ååºä½ * @createDate 2026/3/27 13:59 */ @Data public class U8ResultVo { /** * æåTï¼å¤±è´¥F */ @JsonProperty("Result") private String result; /** * 失败åå */ @JsonProperty("Description") private String description; /** * ä¼ å ¥çåå· */ @JsonProperty("ReceiptNo") private String receiptNo; /** * çæåU8çåå· */ @JsonProperty("U8ReceiptNo") private String u8ReceiptNo; } src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -23,4 +23,9 @@ Order selectOrderMoveStatus(); Order selectOrderMoveStatusInitial(); /** * æ ¹æ®è®¢åå·æ¹éæ´æ°è®¢åç¶æ */ void batchUpdateSettleByOrderNos(List<String> successReceiptNos); } src/main/java/com/zy/asrs/service/ApiLogService.java
@@ -7,6 +7,8 @@ void save(String namespace, String url, String appkey, String ip, String request, String response, boolean success); void save(String namespace, String url, String appkey, String ip, String request, String response, boolean success, String error); boolean clearWeekBefore(); } src/main/java/com/zy/asrs/service/impl/ApiLogServiceImpl.java
@@ -45,6 +45,30 @@ } @Override public void save(String namespace, String url, String appkey, String ip, String request, String response, boolean success, String error) { Date now = new Date(); ApiLog apiLog = new ApiLog( String.valueOf(snowflakeIdWorker.nextId()), // æ¥å¿ç¼å· namespace, // åç§°ç©ºé´ url, // æ¥å£å°å appkey, // å¹³å°å¯é¥ String.valueOf(now.getTime()), // æ¶é´æ³ ip, // 客æ·ç«¯IP request, // 请æ±å 容 response, error, // å¼å¸¸å 容 success ? 1 : 0, // ç»æ 1, // ç¶æ now, // æ·»å æ¶é´ null, // ä¿®æ¹æ¶é´ null // 夿³¨ ); if (!this.insert(apiLog)) { log.error("æ¥å£è°ç¨æ¥å¿ä¿å失败ï¼"); } } @Override public boolean clearWeekBefore() { return this.baseMapper.clearWeekBefore() > 0; } src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; @Slf4j @Service("orderService") @@ -98,15 +97,15 @@ } } //å½è¯¥è®¢åæç»æ°é==宿æ°éä¸>䏿¥æ°éï¼ä¸æ¥ç¶æä¸º å¦ æè æ¯ æ¶é½æ¹æçå¾ ä¸æ¥ï¼å®æ¶å¨è½®è¯¢çå¾ ä¸æ¥è¿è¡ä¸æ¥ for (OrderDetl orderDetl : orderDetls) { if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())&& orderDetl.getQty()>(orderDetl.getUnits() == null ? 0 : orderDetl.getUnits()) &&orderDetl.getInspect()<2) { orderDetl.setInspect(2);//çå¾ ä¸æ¥ orderDetlService.updateById(orderDetl); } } // for (OrderDetl orderDetl : orderDetls) { // if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())&& // orderDetl.getQty()>(orderDetl.getUnits() == null ? 0 : orderDetl.getUnits()) // &&orderDetl.getInspect()<2) { // // orderDetl.setInspect(2);//çå¾ ä¸æ¥ // orderDetlService.updateById(orderDetl); // } // } if (complete) { if (!this.updateSettle(order.getId(), 4L, null)) { throw new CoolException("ä¿®æ¹è®¢åãorderNo = " + order.getOrderNo() + "ãç¶æä¸ºå·²å®æå¤±è´¥"); src/main/java/com/zy/asrs/task/AutoReportingScheduler.java
@@ -8,8 +8,6 @@ import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -34,8 +32,8 @@ private ConfigService configService; // @Scheduled(cron = "0 0/10 * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") @Async("orderThreadPool") // @Scheduled(cron = "0/10 * * * * ? ") // @Async("orderThreadPool") void execute() { Config config = configService.selectConfigByCode("AutoReportU8"); if (config != null && config.getStatus() == 1) { src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -4,16 +4,18 @@ import com.zy.asrs.entity.Order; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.OrderSyncHandler; import com.zy.common.entity.Parameter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -38,17 +40,46 @@ } } @Resource private ThreadPoolTaskExecutor orderThreadPool; // @Scheduled(cron = "0/5 * * * * ? ") @Async("orderThreadPool") // 10åéæ§è¡ä¸æ¬¡ @Scheduled(cron = "0 0/10 * * * ?") public void completeAndReport(){ String erpReport = Parameter.get().getErpReport(); if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { List<Order> orders = orderService.selectComplete(); for (Order order : orders) { ReturnT<String> result = orderSyncHandler.start(order); if (!result.isSuccess()) { log.error("åæ®[orderNo={}]䏿¥erp失败", order.getOrderNo()); if (orders.isEmpty()) { return; } // æåæ®ç±»ååç» Map<String, List<Order>> groupedOrders = orders.stream() .collect(Collectors.groupingBy(order -> { String type = order.getDocType$(); switch (type) { case "éè´è®¢å": case "éè´å°è´§å": case "å§å¤è®¢å": case "å§å¤å°è´§å": case "å°è´§å": case "æ¥ææ£éªå": return "éè´å ¥åº"; case "éå®åè´§å": return "éå®åºåº"; case "ç产订å": case "æ£éªå": return "产æåå ¥åºå"; case "颿ç³è¯·å": return "ææåºåºå"; default: return type; } })); for (Map.Entry<String, List<Order>> map : groupedOrders.entrySet()) { orderThreadPool.submit(() -> { orderSyncHandler.startNew(map); }); } } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -8,6 +8,9 @@ import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.u8.ReportU8Vo; import com.zy.asrs.entity.u8.U8ResultVo; import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; @@ -24,7 +27,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -43,6 +49,18 @@ private ApiLogService apiLogService; @Autowired private DocTypeService docTypeService; private static final String baseUrl = "127.0.0.1:8081/jsjwms/open/asrs"; private static final Map<String, String> pathMap = new HashMap<String, String>() {{ put("éè´å ¥åº", "/purchasein_import"); put("éå®åºåº", "/saleout_import"); put("产æåå ¥åºå", "/productin_import"); put("ææåºåºå", "/materialout_import"); put("å ¶ä»å ¥åºå", "/otherin_import"); put("å ¶ä»åºåºå", "/otherout_import"); }}; @Resource private OrderMapper orderMapper; @Transactional public ReturnT<String> start(Order order) { @@ -157,4 +175,226 @@ return SUCCESS; } public void startNew(Map.Entry<String, List<Order>> orderMap) { String docName = orderMap.getKey(); List<Order> value = orderMap.getValue(); String path = pathMap.get(docName); if (path == null) { log.info("åæ®ç±»åä¸åå¨ï¼{}", docName); return; } // æé 请æ±ä½ List<ReportU8Vo> requestBody = getRequestBody(docName, value); String requestJson = JSONObject.toJSONString(requestBody); String response = ""; boolean success = false; String errorMsg = null; String url = baseUrl + path; String nameSpaces = "忮䏿¥"; try { response = new HttpHandler.Builder() .setUri(baseUrl) .setPath(path) .setJson(requestJson) .build() .doPost(); List<U8ResultVo> list = JSON.parseArray(response, U8ResultVo.class); if (list != null && list.size() != 0) { List<String> successReceiptNos = list.stream().filter(u8ResultVo -> "T".equals(u8ResultVo.getResult())).map(U8ResultVo::getReceiptNo).collect(Collectors.toList()); if (!successReceiptNos.isEmpty()) { orderMapper.batchUpdateSettleByOrderNos(successReceiptNos); } log.info("忮䏿¥æåï¼åæ®ç¼å·ï¼{}", successReceiptNos); success = true; } else { errorMsg = response; log.error(nameSpaces + "è°ç¨å¤é¨æ¥å£å¤±è´¥ï¼urlï¼{}ï¼requestï¼{}ï¼responseï¼{}", url, requestJson, response); } } catch (Exception e) { errorMsg = e.getMessage(); log.error(nameSpaces + "è°ç¨å¤é¨æ¥å£å¼å¸¸ï¼urlï¼{}ï¼requestï¼{}ï¼responseï¼{}", url, requestJson, response, e); } finally { try { apiLogService.save( nameSpaces, url, null, "127.0.0.1", requestJson, response, success, errorMsg ); } catch (Exception e) { log.error(nameSpaces + "ä¿åæ¥å£æ¥å¿å¤±è´¥", e); } } } private List<ReportU8Vo> getRequestBody(String docName, List<Order> value) { List<ReportU8Vo> list = new ArrayList<>(); String now = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); switch (docName) { case "éè´å ¥åº": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("103"); reportU8Vo.setCrdcode("101"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); String docType$ = order.getDocType$(); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setAutoidPo(orderDetl.getSku()); item.setPoautoidcol(docType$.equals("éè´è®¢å") ? "ID" : docType$.equals("éè´å°è´§å") || docType$.equals("å§å¤å°è´§å") ? "Autoid" : docType$.equals("å§å¤è®¢å") ? "MODetailsID" : ""); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; case "éå®åºåº": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("101"); reportU8Vo.setCrdcode("201"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); String docType$ = order.getDocType$(); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setAutoidSo(orderDetl.getSku()); item.setSoautoidcol(docType$.equals("åè´§å") ? "IDLSID" : ""); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; case "产æåå ¥åºå": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("101"); reportU8Vo.setCrdcode("201"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setAutoidMo(orderDetl.getSku()); item.setMoautoidcol("MODID"); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; case "ææåºåºå": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("5"); reportU8Vo.setCrdcode("202"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); String docType$ = order.getDocType$(); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setAutoidAll(orderDetl.getSku()); item.setAllcautoidcol(docType$.equals("ç产订å") ? "AllocateId" : docType$.equals("å§å¤è®¢å") ? "MOMaterialsID" : docType$.equals("颿ç³è¯·å") ? "AutoID" : ""); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; case "å ¶ä»å ¥åºå": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("109"); reportU8Vo.setCrdcode("199"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; case "å ¶ä»åºåºå": for (Order order : value) { ReportU8Vo reportU8Vo = new ReportU8Vo(); reportU8Vo.setCaccid("001"); reportU8Vo.setCvouchcode(order.getOrderNo()); reportU8Vo.setDdate(now); reportU8Vo.setCgltype(order.getDocType$()); reportU8Vo.setCwhcode("109"); reportU8Vo.setCrdcode("299"); reportU8Vo.setCmaker(order.getCreateBy$()); reportU8Vo.setChandler(order.getUpdateBy$()); List<ReportU8Vo.Item> itemList = new ArrayList<>(); List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetlList) { ReportU8Vo.Item item = new ReportU8Vo.Item(); item.setCinvcode(orderDetl.getMatnr()); item.setIquantity(orderDetl.getQty()); item.setCbatch(orderDetl.getBatch()); itemList.add(item); } reportU8Vo.setDetailList(itemList); list.add(reportU8Vo); } break; default: } return list; } } src/main/java/com/zy/common/config/AspectConfig.java
@@ -89,7 +89,7 @@ private void saveLog(ProceedingJoinPoint joinPoint, HttpServletRequest request, Object result,String memo) { Long userId = 9527L; String token = request.getHeader("token"); UserLogin userLogin = userLoginService.selectOne(new EntityWrapper<UserLogin>().eq("token", token).eq("system", "WMS")); UserLogin userLogin = userLoginService.selectOne(new EntityWrapper<UserLogin>().eq("token", token)); if (userLogin != null) { User user = userService.selectById(userLogin.getUserId()); if (user != null) { src/main/resources/mapper/OrderMapper.xml
@@ -53,9 +53,17 @@ where 1=1 and id = #{orderId} </update> <update id="batchUpdateSettleByOrderNos"> update man_order set settle = 6 where order_no in <foreach collection="list" item="item" open="(" separator="," close=")"> #{item} </foreach> </update> <select id="selectComplete" resultMap="BaseResultMap"> select top 5 * select top 100 * from man_order where 1=1 and settle = 4 src/main/resources/ÖÐÑïWMSϵͳAPI½Ó¿Ú.docxBinary files differ
src/main/webapp/static/js/apiLog/apiLog.js
@@ -21,8 +21,9 @@ cellMinWidth: 50, height: 'full-120', cols: [[ {type: 'checkbox'} // ,{field: 'id', align: 'center',title: 'ID'} // {type: 'checkbox'} {field: 'id', align: 'center',title: 'ID', width: 100} ,{field: 'createTime$', align: 'center',title: 'æ·»å æ¶é´', width: 160} // ,{field: 'uuid', align: 'center',title: 'æ¥å¿ç¼å·'} ,{field: 'namespace', align: 'center',title: 'å称空é´'} ,{field: 'url', align: 'center',title: '表åID'} @@ -31,14 +32,13 @@ ,{field: 'clientIp', align: 'center',title: 'URL',hide: true} ,{field: 'request', align: 'center',title: '请æ±å 容'} ,{field: 'response', align: 'center',title: 'æä½å 容'} // ,{field: 'err', align: 'center',title: 'å¼å¸¸å 容'} ,{field: 'err', align: 'center',title: 'å¼å¸¸å 容'} ,{field: 'result$', align: 'center',title: 'ç»æ', templet: '#resTpl', width: 80} // ,{field: 'status$', align: 'center',title: 'ç¶æ'} ,{field: 'createTime$', align: 'center',title: 'æ·»å æ¶é´'} // ,{field: 'updateTime$', align: 'center',title: 'ä¿®æ¹æ¶é´'} ,{field: 'memo', align: 'center',title: '夿³¨', hide: true} ,{fixed: 'right', title:'æä½', align: 'center', toolbar: '#operate', width: 80} // ,{fixed: 'right', title:'æä½', align: 'center', toolbar: '#operate', width: 80} ]], request: { pageName: 'curr', @@ -244,6 +244,16 @@ }, 300); } layDateRender(); // æ¶é´éæ©å¨ layDate.render({ elem: '#createTime\\$', type: 'datetime' }); layDate.render({ elem: '.layui-laydate-range' ,type: 'datetime' ,range: true }); }); src/main/webapp/views/apiLog/apiLog.html
@@ -29,6 +29,12 @@ <input class="layui-input" type="text" name="request" placeholder="请è¾å ¥ï¼è®¢åå·æåå·ï¼" autocomplete="off"> </div> </div> <!-- æ¥æèå´ --> <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="èµ·å§æ¶é´ - ç»æ¢æ¶é´" autocomplete="off" style="width: 300px"> </div> </div> <div class="layui-inline">  <button class="layui-btn icon-btn" lay-filter="search" lay-submit> <i class="layui-icon"></i>æç´¢ @@ -47,7 +53,8 @@ <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">æ°å¢</button>--> <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">å é¤</button> <!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">å é¤</button>--> <button></button> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导åº</button> </div> </script> src/main/webapp/views/operateLog/operateLog.html
@@ -16,18 +16,12 @@ <div id="search-box" class="layui-form layui-card-header"> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="id" placeholder="ç¼å·" autocomplete="off"> <input class="layui-input" type="text" name="action" placeholder="å称空é´" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline cool-auto-complete"> <input id="userId" class="layui-input" name="user_id" type="text" placeholder="请è¾å ¥" autocomplete="off" style="display: none"> <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="ç¨æ·" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> <div class="layui-input-inline"> <input class="layui-input" type="text" name="request" placeholder="æä½å 容" autocomplete="off"> </div> </div> <!-- æ¥æèå´ --> version/bak/jsjasrs_backup_2025_11_02_230001_4793338.bakBinary files differ
version/bak/lfdasrsBinary files differ
version/bak/lfdasrs_LogBackup_2023-02-02_17-03-48.bakBinary files differ
version/doc/WCSÓëPLCͨѶ½Ó¿ÚÐÒéV1.docxBinary files differ
version/doc/ÖÐÑïWCSÓë¶Ñ¶â»úͨѶÐÒé20220114.docxBinary files differ
version/doc/ÉÌÆ·µµ°¸Excelµ¼ÈëÄ£°å.xlsxBinary files differ
version/doc/×Ô¶¯»¯Á¢Ìå²Ö¿âASRSÓëERP¶Ô½ÓÐÒé_20220625A.docxBinary files differ