From 7c5d63fed965545dc1f3972b6ac44d149ab874f1 Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期三, 30 十一月 2022 13:11:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/hylyasrs' into hylyasrs --- src/main/webapp/views/locDetl/locDetl.html | 5 src/main/webapp/views/wrkDetl/wrkDetl.html | 5 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 4 src/main/webapp/views/wrkMast/wrkDetl.html | 1 src/main/resources/mapper/LocDetlMapper.xml | 59 src/main/webapp/static/js/saas/locDetl.js | 557 +++++ src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java | 17 src/main/java/com/zy/system/service/impl/SaasLogServiceImpl.java | 12 src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java | 266 + src/main/webapp/static/js/stoMan/stoQue.js | 16 src/main/webapp/views/saas/matQuery.html | 194 + src/main/java/com/zy/asrs/entity/param/PakinParam.java | 19 src/main/webapp/static/js/ioWorks/stockIn.js | 274 ++ src/main/webapp/views/report/viewWorkOut.html | 5 src/main/webapp/views/saasLog/saasLog.html | 113 + src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 1 src/main/java/com/zy/asrs/service/LocCheckService.java | 8 src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java | 149 + src/main/webapp/static/js/common.js | 14 src/main/java/com/zy/asrs/entity/LocMast.java | 6 src/main/java/locCheck.sql | 18 src/main/java/com/zy/asrs/entity/result/Pakin.java | 331 +++ src/main/java/com/zy/asrs/utils/SaasUtils.java | 22 src/main/webapp/static/js/saas/locMove.js | 135 + src/main/java/com/zy/asrs/service/LocDetlService.java | 4 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 3 src/main/resources/mapper/ViewWorkInMapper.xml | 3 src/main/webapp/views/ioWorks/stockIn.html | 145 + src/main/webapp/views/locCheck/locCheck.html | 164 + src/main/java/com/zy/asrs/mapper/LocCheckMapper.java | 12 src/main/resources/mapper/SaasLogMapper.xml | 16 src/main/webapp/views/report/viewWorkIn.html | 5 src/main/java/com/zy/common/model/LocDto.java | 2 src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java | 18 src/main/java/com/zy/common/CodeBuilder.java | 4 src/main/resources/mapper/ManLocDetlMapper.xml | 98 src/main/resources/mapper/OrderDetlMapper.xml | 22 src/main/webapp/views/saas/locDetl.html | 77 src/main/webapp/views/waitPakinLog/waitPakinLog.html | 5 src/main/webapp/views/ioWorks/matQuery.html | 194 + src/main/java/com/zy/system/entity/SaasLog.java | 96 src/main/java/com/zy/asrs/controller/NodeController.java | 55 src/main/webapp/static/js/ioWorks/matQuery.js | 397 +++ src/main/resources/mapper/LocCheckMapper.xml | 21 src/main/webapp/static/js/order/order.js | 5 src/main/webapp/views/ioWorks/stockOut.html | 125 + src/main/java/com/zy/system/mapper/SaasLogMapper.java | 12 src/main/webapp/views/login.html | 1 src/main/java/com/zy/asrs/utils/VersionUtils.java | 20 src/main/java/saasLog.sql | 18 src/main/webapp/views/pakStore/locDetlQuery.html | 16 src/main/webapp/views/saas/locMove.html | 130 + src/main/java/com/zy/asrs/entity/param/OffSaleParam.java | 15 pom.xml | 8 src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java | 12 src/main/webapp/views/order/order.html | 2 src/main/webapp/views/saas/stockAdjust.html | 133 + src/main/resources/mapper/NodeMapper.xml | 34 src/main/java/com/zy/asrs/entity/LocCheck.java | 154 + src/main/webapp/static/js/saas/stockAdjust.js | 243 ++ src/main/webapp/views/wrkDetlLog/wrkDetlLog.html | 5 src/main/java/com/zy/asrs/entity/param/MatnrDto.java | 15 src/main/webapp/static/js/ioWorks/stockOut.js | 180 + src/main/webapp/static/js/locCheck/locCheck.js | 270 ++ src/main/webapp/static/js/order/out.js | 2 src/main/webapp/views/ioWorks/locDetlQuery.html | 228 ++ src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 32 src/main/java/com/zy/asrs/service/MobileService.java | 6 src/main/java/com/zy/asrs/controller/OrderController.java | 95 src/main/java/com/zy/asrs/controller/ManLocDetlController.java | 58 src/main/webapp/static/js/saasLog/saasLog.js | 251 ++ src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 5 src/main/java/com/zy/asrs/controller/MobileController.java | 24 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 36 src/main/webapp/static/js/cool.js | 2 src/main/java/com/zy/system/service/SaasLogService.java | 8 src/main/webapp/static/js/locDetl/locDetl.js | 2 src/main/java/com/zy/asrs/controller/LocCheckController.java | 123 + src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 13 src/main/webapp/views/waitPakin/waitPakin.html | 5 src/main/java/com/zy/asrs/service/ManLocDetlService.java | 9 src/main/java/com/zy/asrs/service/NodeService.java | 11 src/main/java/com/zy/system/controller/SaasLogController.java | 124 + src/main/resources/application.yml | 2 85 files changed, 5,818 insertions(+), 190 deletions(-) diff --git a/pom.xml b/pom.xml index 3baad37..e0b5149 100644 --- a/pom.xml +++ b/pom.xml @@ -22,8 +22,16 @@ <springfox.version>2.7.0</springfox.version> </properties> + + <dependencies> <dependency> + <groupId>javax.mail</groupId> + <artifactId>mail</artifactId> + <version>1.4.7</version> + </dependency> + + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> diff --git a/src/main/java/com/zy/asrs/controller/LocCheckController.java b/src/main/java/com/zy/asrs/controller/LocCheckController.java new file mode 100644 index 0000000..269cc12 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/LocCheckController.java @@ -0,0 +1,123 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.DateUtils; +import com.zy.asrs.entity.LocCheck; +import com.zy.asrs.service.LocCheckService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class LocCheckController extends BaseController { + + @Autowired + private LocCheckService locCheckService; + + @RequestMapping(value = "/locCheck/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(locCheckService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/locCheck/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){ + EntityWrapper<LocCheck> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(locCheckService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/locCheck/add/auth") + @ManagerAuth + public R add(LocCheck locCheck) { + locCheckService.insert(locCheck); + return R.ok(); + } + + @RequestMapping(value = "/locCheck/update/auth") + @ManagerAuth + public R update(LocCheck locCheck){ + if (Cools.isEmpty(locCheck) || null==locCheck.getId()){ + return R.error(); + } + locCheckService.updateById(locCheck); + return R.ok(); + } + + @RequestMapping(value = "/locCheck/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + locCheckService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/locCheck/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<LocCheck> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("locCheck")); + convert(map, wrapper); + List<LocCheck> list = locCheckService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/locCheckQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<LocCheck> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<LocCheck> page = locCheckService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (LocCheck locCheck : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", locCheck.getId()); + map.put("value", locCheck.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/locCheck/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<LocCheck> wrapper = new EntityWrapper<LocCheck>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != locCheckService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(LocCheck.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java index 8b6ae48..61e94e1 100644 --- a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java @@ -1,13 +1,18 @@ package com.zy.asrs.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.ManLocDetl; +import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.service.ManLocDetlService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -52,4 +57,57 @@ } return R.ok(manLocDetlService.getPage(toPage(curr, limit, param, ManLocDetl.class))); } + + + @RequestMapping("/manLocDetl/list") + public R outList(@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){ + + Page<ManLocDetl> manLocDetlPage = toPage(curr, limit, param, ManLocDetl.class); + Page<ManLocDetl> outPage = manLocDetlService.getOutPage(manLocDetlPage); +// Page<ManLocDetl> page = manLocDetlService.getPage(manLocDetlPage); + return R.ok(outPage); + } + + @RequestMapping("/manLocDetl/adjust/start") + @ManagerAuth(memo = "搴撳瓨璋冩暣") + public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) { + manLocDetlService.adjustLocDetl(param, getUserId()); + return R.ok("搴撳瓨璋冩暣鎴愬姛"); + } + + @RequestMapping(value = "/manLocDetl/asrsAndSaas/list") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + + Page<ManLocDetl> manLocDetlPage = toPage(curr, limit, param, ManLocDetl.class); + Page<ManLocDetl> all = manLocDetlService.selectAllPage(manLocDetlPage); + return R.ok().add(all); + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + if (entry.getKey().equals("locNo")) { + wrapper.eq("loc_no", String.valueOf(entry.getValue())); + } else { + wrapper.like(entry.getKey(), String.valueOf(entry.getValue())); + } + } + } + } + + } diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index a59f8bb..c832de4 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -11,7 +11,9 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; +import com.zy.asrs.entity.param.OffSaleParam; import com.zy.asrs.entity.result.MobileAdjustResult; +import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.common.model.LocDto; import com.zy.common.model.TaskDto; @@ -51,16 +53,26 @@ private BasDevpService basDevpService; @Autowired private PackService packService; + @Autowired + private ManLocDetlMapper manLocDetlMapper; // 鍟嗗搧涓婃灦 @RequestMapping("/mat/onSale/auth") - //@ManagerAuth + @ManagerAuth public R matOnSale(@RequestBody CombParam combParam){ mobileService.onSale(combParam); return R.ok("涓婃灦鎴愬姛"); } // 鍟嗗搧涓嬫灦 + @RequestMapping("/mat/offSale/auth") + //@ManagerAuth + public R matOffSale(@RequestBody OffSaleParam offSaleParam){ + mobileService.offSale(offSaleParam); + return R.ok("涓嬫灦鎴愬姛"); + } + + // 缁勬墭 ---------------------------------------------------------------------------------------------------- @@ -162,6 +174,16 @@ return R.ok(); } + // 鏍规嵁搴撲綅鐮佸拰鍟嗗搧鐮佹悳绱㈠晢鍝� + @RequestMapping("/mat/find/auth") + public R find(@RequestParam(required = false) String locNo + , @RequestParam(required = false) String matnr){ + //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr); + ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr); + return R.ok(manLocDetl); + //return R.ok(manLocDetlMapper.selectItem0(locNo, matnr)); + } + /** * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧 */ diff --git a/src/main/java/com/zy/asrs/controller/NodeController.java b/src/main/java/com/zy/asrs/controller/NodeController.java index f03e4e7..6ae3b3c 100644 --- a/src/main/java/com/zy/asrs/controller/NodeController.java +++ b/src/main/java/com/zy/asrs/controller/NodeController.java @@ -12,7 +12,12 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.core.exception.CoolException; +import com.zy.asrs.entity.ManLocDetl; import com.zy.asrs.entity.Node; +import com.zy.asrs.entity.param.InitPakoutParam; +import com.zy.asrs.entity.param.PakinParam; +import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.NodeService; import com.zy.common.entity.NodeExcel; import com.zy.common.entity.NodeExcelListener; @@ -39,6 +44,8 @@ private NodeService nodeService; @Autowired private TreeUtils treeUtils; + @Autowired + private ManLocDetlMapper manLocDetlMapper; @RequestMapping(value = "/node/{id}/auth") @ManagerAuth @@ -107,6 +114,10 @@ @RequestMapping(value = "/node/add/auth") @ManagerAuth public R add(Node node) { + Node node1 = nodeService.selectByUuid(node.getName()); + if (!Cools.isEmpty(node1)) { + throw new CoolException("璇ョ紪鍙�/鍚嶇О宸插瓨鍦�"); + } if (node.getType() != 1) { Node parentNode = nodeService.selectById(node.getParentId()); if (parentNode == null || parentNode.getStatus() == 0) { @@ -120,7 +131,6 @@ nodeUtils.executePath(node); node.setHostId(getHostId()); node.setUuid(node.getName().toString()); - System.out.println(node.getUuid()); node.setPath(nodeUtils.path.toString()); node.setNamePath(nodeUtils.pathName.toString()); node.setLevel(node.getType()); @@ -133,9 +143,15 @@ return R.ok(); } + + @RequestMapping(value = "/node/update/auth") @ManagerAuth public R update(Node node){ + Node node1 = nodeService.selectByUuid(node.getName()); + if (!Cools.isEmpty(node1)) { + throw new CoolException("璇ョ紪鍙�/鍚嶇О宸插瓨鍦�"); + } if (Cools.isEmpty(node) || null==node.getId()){ return R.error(); } @@ -152,7 +168,9 @@ nodeUtils.executePath(node); node.setPath(nodeUtils.path.toString()); node.setNamePath(nodeUtils.pathName.toString()); + node.setUuid(node.getName()); + manLocDetlMapper.updateLocNo0(node.getId(),node.getName()); node.setUpdateBy(getUserId()); node.setUpdateTime(new Date()); nodeService.updateById(node); @@ -279,4 +297,39 @@ return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"涓揣浣�"); } + /*************************************** 鍏ュ簱鍑虹浉鍏� ***********************************************/ + + @RequestMapping("/work/stock/pakin") + @ManagerAuth(memo = "鍏ュ簱") + public R stockPakin(@RequestBody PakinParam number) { + return nodeService.stockPakin(number, getUserId(), getHostId()); + } + + @RequestMapping("/work/stock/pakout") + @ManagerAuth(memo = "鍑哄簱") + public R initPakout(@RequestBody List<InitPakoutParam> params) { + return nodeService.initPakout(params, getUserId(), getHostId()); + } + + @PostMapping(value = "/work/empty/stock") + public R getGroupEmptyStock(@RequestParam(required = false) String sourceLocNo) { + List<Node> allEmptys = nodeService.selectList(new EntityWrapper<Node>() + .eq("type","3")); + return R.ok().add(allEmptys); + } + @RequestMapping("/work/move/start") + @ManagerAuth(memo = "搴撲綅绉昏浆") + public R locMoveStart(@RequestParam String sourceLocNo, + @RequestParam String targetLocNo) { + nodeService.locMove(sourceLocNo, targetLocNo, getUserId()); + return R.ok("绉诲簱鍚姩鎴愬姛"); + } + @RequestMapping(value = "/node/select/{id}/auth") + @ManagerAuth + public R getById(@PathVariable("id") String id) { + Node node = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid",id)); + return R.ok(node); + } + } diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 8063a13..e65522e 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -33,6 +33,8 @@ private WrkDetlService wrkDetlService; @Autowired private WaitPakinService waitPakinService; + @Autowired + private LocDetlService locDetlService; @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth @@ -334,4 +336,97 @@ return R.ok(); } + + @RequestMapping(value = "/order/form/add/authtest") + @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟") + @Transactional + public R formAddTest(@RequestBody OrderDomainParam param){ + if(Cools.isEmpty(param.getOrderNo())){ + String prefix = ""; + DocType docType = docTypeService.selectById(param.getDocType()); + if(!Cools.isEmpty(docType)){ + prefix = docType.getPakin() == 1 ? "RK" : "CK"; + } + param.setOrderNo(prefix + snowflakeIdWorker.nextId()); + } + Order order = orderService.selectByNo(param.getOrderNo()); + if (order != null) { + return R.error("鍗曟嵁缂栧彿宸插瓨鍦�"); + } + Date now = new Date(); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + param.getOrderNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + param.getDocType(), // 鍗曟嵁绫诲瀷 + 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, // 鐘舵�� + getUserId(), // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + getUserId(), // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); + } + List<DetlDto> list = new ArrayList<>(); + for (OrderDetl orderDetl : param.getOrderDetlList()) { + DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); + if (DetlDto.has(list, dto)) { + OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); + item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); + if (!orderDetlService.updateById(item)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } else { + list.add(dto); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(getUserId()); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(getUserId()); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + + //缁欐坊鍔犲瓙璁㈠崟 + Set<String> exist = new HashSet<>(); + List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); + + + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } + } + return R.ok("璁㈠崟娣诲姞鎴愬姛"); + } + + + + } diff --git a/src/main/java/com/zy/asrs/entity/LocCheck.java b/src/main/java/com/zy/asrs/entity/LocCheck.java new file mode 100644 index 0000000..aa7ba3e --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/LocCheck.java @@ -0,0 +1,154 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("man_loc_check") +public class LocCheck implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 鍞竴ID + */ + @ApiModelProperty(value= "鍞竴ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 鐘舵�� 1: 鐩樼偣涓� 2: 鐩樼偣缁撴潫 + */ + @ApiModelProperty(value= "鐘舵�� 1: 鐩樼偣涓� 2: 鐩樼偣缁撴潫 ") + private Integer type; + + /** + * 搴撲綅鍙� + */ + @ApiModelProperty(value= "搴撲綅鍙�") + @TableField("loc_no") + private String locNo; + + /** + * 鐗╂枡鍙� + */ + @ApiModelProperty(value= "鐗╂枡鍙�") + private String matnr; + + /** + * 鐩樼偣鍓嶆暟閲� + */ + @ApiModelProperty(value= "鐩樼偣鍓嶆暟閲�") + @TableField("origin_anfme") + private Double originAnfme; + + /** + * 鐪熷疄鏁伴噺 + */ + @ApiModelProperty(value= "鐪熷疄鏁伴噺") + @TableField("real_anfme") + private Double realAnfme; + + /** + * 鍒涘缓浜� + */ + @ApiModelProperty(value= "鍒涘缓浜�") + @TableField("create_by") + private Long createBy; + + /** + * 鍒涘缓鏃堕棿 + */ + @ApiModelProperty(value= "鍒涘缓鏃堕棿") + @TableField("create_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 淇敼浜� + */ + @ApiModelProperty(value= "淇敼浜�") + @TableField("update_by") + private Long updateBy; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("update_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public LocCheck() {} + + public LocCheck(Integer type,String locNo,String matnr,Double originAnfme,Double realAnfme,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + this.type = type; + this.locNo = locNo; + this.matnr = matnr; + this.originAnfme = originAnfme; + this.realAnfme = realAnfme; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.memo = memo; + } + +// LocCheck locCheck = new LocCheck( +// null, // 鐘舵�� +// null, // 搴撲綅鍙� +// null, // 鐗╂枡鍙� +// null, // 鐩樼偣鍓嶆暟閲� +// null, // 鐪熷疄鏁伴噺 +// null, // 鍒涘缓浜� +// null, // 鍒涘缓鏃堕棿 +// null, // 淇敼浜� +// null, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); + + public String getType$(){ + if (null == this.type){ return null; } + switch (this.type){ + case 1: + return "鐩樼偣涓�"; + case 2: + return "鐩樼偣缁撴潫"; + default: + return String.valueOf(this.type); + } + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java index 23d8301..0ee2575 100644 --- a/src/main/java/com/zy/asrs/entity/LocMast.java +++ b/src/main/java/com/zy/asrs/entity/LocMast.java @@ -26,8 +26,8 @@ /** * 搴撲綅鍙� */ - @ApiModelProperty(value= "搴撲綅鍙�") - @TableId(value = "loc_no", type = IdType.INPUT) + @ApiModelProperty(value= "搴撲綅鍙�") //鍙傛暟绫诲瀷涓篠tring锛屼綔鐢ㄤ负姝ゅ睘鎬х殑绠�瑕佹弿杩般�� + @TableId(value = "loc_no", type = IdType.INPUT) // @TableId 娉ㄨВ鐨勭敤娉曪紝璇ユ敞瑙g敤浜庡皢鏌愪釜鎴愬憳鍙橀噺鎸囧畾涓烘暟鎹〃涓婚敭 @TableField("loc_no") private String locNo; @@ -165,7 +165,7 @@ @ApiModelProperty(value= "") private String mk; - @ApiModelProperty(value= "") + @ApiModelProperty(value= "鏉$爜鍙�") private String barcode; @ApiModelProperty(value= "") diff --git a/src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java b/src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java new file mode 100644 index 0000000..75a2218 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java @@ -0,0 +1,17 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +/** + * Created by vincent on 2021/3/10 + */ +@Data +public class InitPakoutParam { + + private Long nodeId; + + private String matnr; + + private Double count; + +} diff --git a/src/main/java/com/zy/asrs/entity/param/MatnrDto.java b/src/main/java/com/zy/asrs/entity/param/MatnrDto.java new file mode 100644 index 0000000..f0a716d --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/MatnrDto.java @@ -0,0 +1,15 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +/** + * Created by vincent on 2021/3/31 + */ +@Data +public class MatnrDto { + + private String matnr; + + private Double count; + +} diff --git a/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java b/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java new file mode 100644 index 0000000..b4dba63 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/OffSaleParam.java @@ -0,0 +1,15 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +@Data +public class OffSaleParam { + + // 鐗╂枡缂栧彿 + private String matnr; + // 搴撲綅缂栧彿 + private String locNo; + // 鐗╂枡鏁伴噺 + private double anfme; + +} diff --git a/src/main/java/com/zy/asrs/entity/param/PakinParam.java b/src/main/java/com/zy/asrs/entity/param/PakinParam.java new file mode 100644 index 0000000..33935f3 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/PakinParam.java @@ -0,0 +1,19 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +import java.util.List; + +/** + * Created by vincent on 2021/3/26 + */ +@Data +public class PakinParam { + + private String nodeId; + + private List<MatnrDto> mats; + + private Integer docType; + +} diff --git a/src/main/java/com/zy/asrs/entity/result/Pakin.java b/src/main/java/com/zy/asrs/entity/result/Pakin.java new file mode 100644 index 0000000..b1bc523 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/result/Pakin.java @@ -0,0 +1,331 @@ +package com.zy.asrs.entity.result; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.system.entity.Host; +import com.zy.system.entity.User; +import com.zy.system.service.HostService; +import com.zy.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +@ExcelIgnoreUnannotated +@TableName("man_pakin") +public class Pakin implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 鎵�灞為」鐩� + */ + @ApiModelProperty(value= "鎵�灞為」鐩�") + @TableField("host_id") + private Long hostId; + + /** + * 浠诲姟鍙� + */ + @ApiModelProperty(value= "浠诲姟鍙�") + @TableField("wrk_no") + private String wrkNo; + + /** + * 宸ヤ綔鐘舵�� + */ + @ApiModelProperty(value= "宸ヤ綔鐘舵��") + @TableField("wrk_sts") + private Long wrkSts; + + /** + * 鎵樼洏鍙� + */ + @ApiModelProperty(value= "鎵樼洏鍙�") + private String zpallet; + + /** + * 鍏ュ簱鏁伴噺 + */ + @ApiModelProperty(value= "鍏ュ簱鏁伴噺") + @ExcelProperty(value = "鍏ュ簱鎬婚噺") + private Double anfme; + + /** + * 鍏宠仈璐т綅 + */ + @ApiModelProperty(value= "鍏宠仈璐т綅") + @TableField("node_id") + private Long nodeId; + + /** + * 璐т綅 + */ + @ApiModelProperty(value= "璐т綅") + @TableField("loc_no") + private String locNo; + + /** + * 鍟嗗搧缂栫爜 + */ + @ApiModelProperty(value= "鍟嗗搧缂栫爜") + @ExcelProperty(value = "鍟嗗搧缂栫爜") + private String matnr; + + /** + * 鍟嗗搧鍚嶇О + */ + @ApiModelProperty(value= "鍟嗗搧鍚嶇О") + @ExcelProperty(value = "鍟嗗搧鍚嶇О") + private String maktx; + + /** + * 鍚嶇О + */ + @ApiModelProperty(value= "鍚嶇О") + private String name; + + /** + * 瑙勬牸 + */ + @ApiModelProperty(value= "瑙勬牸") + @ExcelProperty(value = "瑙勬牸") + private String specs; + + /** + * 鍨嬪彿 + */ + @ApiModelProperty(value= "鍨嬪彿") + private String model; + + /** + * 鎵瑰彿 + */ + @ApiModelProperty(value= "鎵瑰彿") + private String batch; + + /** + * 鍗曚綅 + */ + @ApiModelProperty(value= "鍗曚綅") + @ExcelProperty(value = "鍗曚綅") + private String unit; + + /** + * SKC + */ + @ApiModelProperty(value= "SKC") + @ExcelProperty(value = "SKC") + private String barcode; + + /** + * 鍗曟嵁绫诲瀷 + */ + @ApiModelProperty(value= "鍗曟嵁绫诲瀷") + @TableField("doc_id") + private Long docId; + + /** + * 鍗曟嵁缂栧彿 + */ + @ApiModelProperty(value= "鍗曟嵁缂栧彿") + @TableField("doc_num") + private String docNum; + + /** + * 瀹㈡埛鍚嶇О + */ + @ApiModelProperty(value= "瀹㈡埛鍚嶇О") + @TableField("cust_name") + private String custName; + + /** + * 鍝侀」鏁� + */ + @ApiModelProperty(value= "鍝侀」鏁�") + @TableField("item_num") + private Integer itemNum; + + /** + * 鏁伴噺 + */ + @ApiModelProperty(value= "鏁伴噺") + private Integer count; + + /** + * 鍗曚环 + */ + @ApiModelProperty(value= "鍗曚环") + private Double price; + + /** + * 閲嶉噺 + */ + @ApiModelProperty(value= "閲嶉噺") + private Double weight; + + /** + * 鐘舵�� 1: 姝e父 0: 绂佺敤 + */ + @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ") + private Integer status; + + /** + * 娣诲姞浜哄憳 + */ + @ApiModelProperty(value= "娣诲姞浜哄憳") + @TableField("create_by") + private Long createBy; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("create_time") + private Date createTime; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("update_by") + private Long updateBy; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("update_time") + private Date updateTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public Pakin() {} + + public Pakin(Long hostId, String wrkNo, Long wrkSts, String zpallet, Double anfme, Long nodeId, String locNo, String matnr, String maktx, String name, String specs, String model, String batch, String unit, String barcode, Long docId, String docNum, String custName, Integer itemNum, Integer count, Double weight, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) { + this.hostId = hostId; + this.wrkNo = wrkNo; + this.wrkSts = wrkSts; + this.zpallet = zpallet; + this.anfme = anfme; + this.nodeId = nodeId; + this.locNo = locNo; + this.matnr = matnr; + this.maktx = maktx; + this.name = name; + this.specs = specs; + this.model = model; + this.batch = batch; + this.unit = unit; + this.barcode = barcode; + this.docId = docId; + this.docNum = docNum; + this.custName = custName; + this.itemNum = itemNum; + this.count = count; + this.weight = weight; + this.status = status; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.memo = memo; + } + +// Pakin pakin = new Pakin( +// null, // 浠诲姟鍙穂闈炵┖] +// null, // 宸ヤ綔鐘舵�� +// null, // 鎵樼洏鍙� +// null, // 鍏ュ簱鏁伴噺 +// null, // 鍏宠仈璐т綅[闈炵┖] +// null, // 璐т綅[闈炵┖] +// null, // 鍟嗗搧缂栫爜[闈炵┖] +// null, // 鍟嗗搧鍚嶇О +// null, // 鍚嶇О +// null, // 瑙勬牸 +// null, // 鍨嬪彿 +// null, // 鎵瑰彿 +// null, // 鍗曚綅 +// null, // SKC +// null, // 鍗曟嵁绫诲瀷 +// null, // 鍗曟嵁缂栧彿 +// null, // 瀹㈡埛鍚嶇О +// null, // 鍝侀」鏁� +// null, // 鏁伴噺 +// null, // 閲嶉噺 +// null, // 鐘舵�� +// null, // 娣诲姞浜哄憳 +// null, // 娣诲姞鏃堕棿 +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); + + public String getHostId$(){ + HostService service = SpringUtils.getBean(HostService.class); + Host host = service.selectById(this.hostId); + if (!Cools.isEmpty(host)){ + return String.valueOf(host.getName()); + } + return null; + } + + + + public String getStatus$(){ + if (null == this.status){ return null; } + switch (this.status){ + case 1: + return "姝e父"; + case 0: + return "绂佺敤"; + default: + return String.valueOf(this.status); + } + } + + public String getCreateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.createBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getUpdateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.updateBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + +} diff --git a/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java b/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java new file mode 100644 index 0000000..226f138 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java @@ -0,0 +1,12 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.LocCheck; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface LocCheckMapper extends BaseMapper<LocCheck> { + +} diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java index 53f9856..93265cb 100644 --- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java @@ -56,6 +56,9 @@ List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos); + List<LocDetl> queryStockOther(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos,@Param("locNo")String locNo); + + Double queryStockAnfme(String matnr, String batch); List<StockVo> queryStockTotal(); @@ -66,4 +69,5 @@ List<LocDetl> unreason(); Double selectLocDetlSumQty(String locNo); + } diff --git a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java index f53365d..250a289 100644 --- a/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java @@ -65,4 +65,22 @@ List<ManLocDetl> unreason(); Double selectLocDetlSumQty(String locNo); + + int updateLocNo0(Long nodeId, String locNo); + + ManLocDetl selectLocNo0(String locNo, String matnr); + + List<ManLocDetl> selectItem0(String locNo, String matnr); + + int deleteLocNo0(String locNo, String matnr); + + int updateAnfme0(double anfme, Long nodeId); + + List<ManLocDetl> listByOutPage(Map<String, Object> condition); + + long listByOutPageCount(Map<String, Object> condition); + + List<ManLocDetl> selectAllPage(Map<String, Object> condition); + + long selectAllPageSize(Map<String, Object> condition); } diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index 51c99ad..b67806c 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -34,4 +34,7 @@ int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); + + int increaseWorkQtytest(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("anfme")Double anfme); + } diff --git a/src/main/java/com/zy/asrs/service/LocCheckService.java b/src/main/java/com/zy/asrs/service/LocCheckService.java new file mode 100644 index 0000000..89bc5b4 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/LocCheckService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.LocCheck; +import com.baomidou.mybatisplus.service.IService; + +public interface LocCheckService extends IService<LocCheck> { + +} diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java index 0023ecf..e4d53c5 100644 --- a/src/main/java/com/zy/asrs/service/LocDetlService.java +++ b/src/main/java/com/zy/asrs/service/LocDetlService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.result.StockVo; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -45,6 +46,9 @@ List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos); + List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo); + + Double queryStockAnfme(String matnr, String batch); List<StockVo> queryStockTotal(); diff --git a/src/main/java/com/zy/asrs/service/ManLocDetlService.java b/src/main/java/com/zy/asrs/service/ManLocDetlService.java index 21597aa..4530bbc 100644 --- a/src/main/java/com/zy/asrs/service/ManLocDetlService.java +++ b/src/main/java/com/zy/asrs/service/ManLocDetlService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.ManLocDetl; +import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.result.StockVo; import java.util.List; @@ -53,4 +54,12 @@ List<ManLocDetl> unreason(); Double getLocDetlSumQty(String locNo); + + Page<ManLocDetl> getOutPage(Page<ManLocDetl> manLocDetlPage); + + + void adjustLocDetl(LocDetlAdjustParam param, Long userId); + + Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param); + } diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java index 1dcc010..6172647 100644 --- a/src/main/java/com/zy/asrs/service/MobileService.java +++ b/src/main/java/com/zy/asrs/service/MobileService.java @@ -6,6 +6,7 @@ import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; +import com.zy.asrs.entity.param.OffSaleParam; import java.util.Date; @@ -22,6 +23,11 @@ void onSale(CombParam param); /** + * 涓嬫灦 + */ + void offSale(OffSaleParam param); + + /** * 鐩樼偣 */ void adjust(MobileAdjustParam param, Long userId); diff --git a/src/main/java/com/zy/asrs/service/NodeService.java b/src/main/java/com/zy/asrs/service/NodeService.java index caabb24..2de56d4 100644 --- a/src/main/java/com/zy/asrs/service/NodeService.java +++ b/src/main/java/com/zy/asrs/service/NodeService.java @@ -1,7 +1,12 @@ package com.zy.asrs.service; import com.baomidou.mybatisplus.service.IService; +import com.core.common.R; import com.zy.asrs.entity.Node; +import com.zy.asrs.entity.param.InitPakoutParam; +import com.zy.asrs.entity.param.PakinParam; + +import java.util.List; public interface NodeService extends IService<Node> { @@ -14,4 +19,10 @@ Node selectByUuid(String uuid, Long hostId, Integer type); Node selectByUuid(String uuid, Long hostId, Integer type, Long parentId); + + R stockPakin(PakinParam number, Long userId, Long hostId); + + R initPakout(List<InitPakoutParam> params, Long userId, Long hostId); + + void locMove(String sourceLocNo, String targetLocNo, Long userId); } diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index ecf08d2..ede8c56 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -37,4 +37,6 @@ * @return */ boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty); + + boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme); } diff --git a/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java new file mode 100644 index 0000000..0107e67 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.mapper.LocCheckMapper; +import com.zy.asrs.entity.LocCheck; +import com.zy.asrs.service.LocCheckService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("locCheckService") +public class LocCheckServiceImpl extends ServiceImpl<LocCheckMapper, LocCheck> implements LocCheckService { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java index 44bdd07..bbb6957 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java @@ -82,6 +82,11 @@ } @Override + public List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo) { + return this.baseMapper.queryStockOther(matnr, batch, orderNo, locNos,locNo); + } + + @Override public Double queryStockAnfme(String matnr, String batch) { return this.baseMapper.queryStockAnfme(matnr, batch); } diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java index 3357726..1f566fe 100644 --- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java @@ -1,122 +1,190 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.zy.asrs.entity.ManLocDetl; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.ManLocDetlService; +import com.zy.asrs.service.MatService; +import com.zy.asrs.service.NodeService; +import com.zy.asrs.utils.SaasUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Set; +import java.util.*; @Service("manLocDetlService") -public class ManLocDetlServiceImpl extends ServiceImpl<ManLocDetlMapper, ManLocDetl> implements ManLocDetlService{ +public class ManLocDetlServiceImpl extends ServiceImpl<ManLocDetlMapper, ManLocDetl> implements ManLocDetlService { + @Autowired + private MatService matService; + @Autowired + private NodeService nodeService; + @Override + public Page<ManLocDetl> getPage(Page<ManLocDetl> page) { + Map<String, Object> condition = page.getCondition(); + List<ManLocDetl> manLocDetls = baseMapper.listByPage(condition); + page.setRecords(manLocDetls); + page.setTotal(baseMapper.listByPageCount(page.getCondition())); + return page; + } + @Override + public Page<ManLocDetl> getStockOut(Page<ManLocDetl> page) { + page.setRecords(baseMapper.getStockOutPage(page.getCondition())); + page.setTotal(baseMapper.getStockOutPageCount(page.getCondition())); + return page; + } - @Override - public Page<ManLocDetl> getPage(Page<ManLocDetl> page) { - page.setRecords(baseMapper.listByPage(page.getCondition())); - page.setTotal(baseMapper.listByPageCount(page.getCondition())); - return page; + @Override + public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) { + if (anfme <= 0) { + return this.baseMapper.deleteItem(locNo, matnr, batch) > 0; + } else { + return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0; } + } - @Override - public Page<ManLocDetl> getStockOut(Page<ManLocDetl> page) { - page.setRecords(baseMapper.getStockOutPage(page.getCondition())); - page.setTotal(baseMapper.getStockOutPageCount(page.getCondition())); - return page; - } - @Override - public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) { - if (anfme <= 0) { - return this.baseMapper.deleteItem(locNo, matnr, batch) > 0; - } else { - return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0; + @Override + public boolean updateLocNo(String newLocNo, String oldLocNo) { + return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0; + } + + @Override + public List<String> getSameDetlToday(String matnr, Integer start, Integer end) { + return this.baseMapper.selectSameDetlToday(matnr, start, end); + } + + + @Override + public Page<ManLocDetl> getStockStatis(Page<ManLocDetl> page) { + page.setRecords(baseMapper.getStockStatis(page.getCondition())); + page.setTotal(baseMapper.getStockStatisCount(page.getCondition())); + return page; + } + + @Override + public Double getSumAnfme(String matnr) { + return this.baseMapper.selectSumAnfmeByMatnr(matnr); + } + + @Override + public List<ManLocDetl> selectPakoutByRule(String matnr) { + return this.baseMapper.selectPakoutByRule(matnr); + } + + @Override + public List<ManLocDetl> getAsrsLocDetl(String matnr) { + return this.baseMapper.getAsrsLocDetl(matnr); + } + + @Override + public Integer countLocNoNum(String locNo) { + return this.baseMapper.countLocNoNum(locNo); + } + + @Override + public List<ManLocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) { + return this.baseMapper.queryStock(matnr, batch, orderNo, locNos); + } + + @Override + public Double queryStockAnfme(String matnr, String batch) { + return this.baseMapper.queryStockAnfme(matnr, batch); + } + + @Override + public List<StockVo> queryStockTotal() { + return this.baseMapper.queryStockTotal(); + } + + /** + * 鑾峰彇搴撳瓨鎬绘暟 + * + * @return + */ + @Override + public Integer sum() { + + return this.baseMapper.sum(); + } + + @Override + public List<ManLocDetl> unreason() { + return this.baseMapper.unreason(); + } + + + @Override + public ManLocDetl selectItem(String locNo, String matnr, String batch) { + return this.baseMapper.selectItem(locNo, matnr, batch); + } + + @Override + public Double getLocDetlSumQty(String locNo) { + return this.baseMapper.selectLocDetlSumQty(locNo); + } + + @Override + public Page<ManLocDetl> getOutPage(Page<ManLocDetl> manLocDetlPage) { + Map<String, Object> condition = manLocDetlPage.getCondition(); + List<ManLocDetl> manLocDetls = baseMapper.listByOutPage(condition); + manLocDetlPage.setRecords(manLocDetls); + manLocDetlPage.setTotal(baseMapper.listByOutPageCount(manLocDetlPage.getCondition())); + return manLocDetlPage; + } + + @Transactional + @Override + public void adjustLocDetl(LocDetlAdjustParam param, Long userId) { + Date now = new Date(); + this.baseMapper.delete(new EntityWrapper<ManLocDetl>() + .eq("loc_no", param.getLocNo())); + for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) { + Mat mat = matService.selectOne(new EntityWrapper<Mat>() + .eq("matnr", locDetlAdjust.getMatnr())); + if (mat == null) { + throw new CoolException("鏃犳硶鎵惧埌闇�瑕佽皟鏁寸殑鐗╂枡,璇疯仈绯荤鐞嗗憳"); } + Node node = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid", param.getLocNo())); + if (node == null) { + throw new CoolException("鏃犳硶鎵惧埌闇�瑕佽皟鏁寸殑搴撲綅,璇疯仈绯荤鐞嗗憳"); + + } + ManLocDetl manLocDetl = new ManLocDetl(); + manLocDetl.setLocNo(param.getLocNo()); + manLocDetl.setNodeId(node.getId()); + manLocDetl.setZpallet(mat.getBarcode()); + manLocDetl.setAnfme(locDetlAdjust.getCount()); + manLocDetl.setMatnr(mat.getMatnr()); + manLocDetl.setMaktx(mat.getMaktx()); + manLocDetl.setName(mat.getName()); + manLocDetl.setSpecs(mat.getSpecs()); + manLocDetl.setModel(mat.getModel()); + manLocDetl.setBatch(locDetlAdjust.getBatch()); + manLocDetl.setUnit(mat.getUnit()); + manLocDetl.setBarcode(mat.getBarcode()); + manLocDetl.setPrice(mat.getPrice()); + SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme()); + this.baseMapper.insert(manLocDetl); } + } + @Override + public Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param) { + Map<String, Object> condition = param.getCondition(); + List<ManLocDetl> manLocDetls = baseMapper.selectAllPage(condition); + param.setRecords(manLocDetls); + param.setTotal(baseMapper.selectAllPageSize(condition)); + return param; + } - @Override - public boolean updateLocNo(String newLocNo, String oldLocNo) { - return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0; - } - - @Override - public List<String> getSameDetlToday(String matnr, Integer start, Integer end) { - return this.baseMapper.selectSameDetlToday(matnr, start, end); - } - - - @Override - public Page<ManLocDetl> getStockStatis(Page<ManLocDetl> page) { - page.setRecords(baseMapper.getStockStatis(page.getCondition())); - page.setTotal(baseMapper.getStockStatisCount(page.getCondition())); - return page; - } - - @Override - public Double getSumAnfme(String matnr) { - return this.baseMapper.selectSumAnfmeByMatnr(matnr); - } - - @Override - public List<ManLocDetl> selectPakoutByRule(String matnr) { - return this.baseMapper.selectPakoutByRule(matnr); - } - - @Override - public List<ManLocDetl> getAsrsLocDetl(String matnr) { - return this.baseMapper.getAsrsLocDetl(matnr); - } - - @Override - public Integer countLocNoNum(String locNo) { - return this.baseMapper.countLocNoNum(locNo); - } - - @Override - public List<ManLocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) { - return this.baseMapper.queryStock(matnr, batch, orderNo, locNos); - } - - @Override - public Double queryStockAnfme(String matnr, String batch) { - return this.baseMapper.queryStockAnfme(matnr, batch); - } - - @Override - public List<StockVo> queryStockTotal() { - return this.baseMapper.queryStockTotal(); - } - - /** - * 鑾峰彇搴撳瓨鎬绘暟 - * @return - */ - @Override - public Integer sum() { - - return this.baseMapper.sum(); - } - - @Override - public List<ManLocDetl> unreason() { - return this.baseMapper.unreason(); - } - - - @Override - public ManLocDetl selectItem(String locNo, String matnr, String batch) { - return this.baseMapper.selectItem(locNo, matnr, batch); - } - - @Override - public Double getLocDetlSumQty(String locNo) { - return this.baseMapper.selectLocDetlSumQty(locNo); - } } diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 0e0df7e..efaf8a6 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -9,7 +9,9 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; +import com.zy.asrs.entity.param.OffSaleParam; import com.zy.asrs.entity.param.OpenOrderPakinParam; +import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; import com.zy.common.CodeRes; @@ -73,6 +75,8 @@ private NodeService nodeService; @Autowired private ManLocDetlService manLocDetlService; + @Autowired + private ManLocDetlMapper manLocDetlMapper; @Override @@ -88,7 +92,9 @@ } int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); - int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); +// int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()) + .last(" wrk_no IN ( SELECT wrk_no FROM asr_wrk_mast WHERE wrk_sts != 15 )")); if (countLoc > 0 || countWrk > 0) { throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); } @@ -187,6 +193,7 @@ } + // 鍟嗗搧涓婃灦 @Override public void onSale(CombParam param) { Date now = new Date(); @@ -207,14 +214,14 @@ throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�"); } if (Cools.isEmpty(combMat.getBatch())){ - throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); +// throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); } ManLocDetl manLocDetl = new ManLocDetl(); manLocDetl.setLocNo(locno); manLocDetl.setNodeId(node.getId()); manLocDetl.setMaktx(mat.getMaktx()); manLocDetl.setMatnr(mat.getMatnr()); - manLocDetl.setBatch(combMat.getBatch()); + manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch()); manLocDetl.setAnfme(combMat.getAnfme()); manLocDetl.setModiTime(now); if (!manLocDetlService.insert(manLocDetl)) { @@ -223,6 +230,25 @@ } } + // 鍟嗗搧涓嬫灦 + @Override + public void offSale(OffSaleParam offSaleParam) { + ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); + if (Cools.isEmpty(manLocDetl)){ + throw new CoolException("鏃犳鍟嗗搧锛�"); + } + double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme(); + if (anfme < 0) { + throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�"); + } else if (anfme == 0){ + manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); + } + manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId()); + } + + // 鏌ユ壘鍟嗗搧 + + @Override @Transactional public void adjust(MobileAdjustParam param, Long userId) { diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java index 7bda2b3..bd47225 100644 --- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java @@ -2,16 +2,41 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.core.common.Cools; +import com.core.common.R; +import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; +import com.zy.asrs.entity.ManLocDetl; +import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.Node; +import com.zy.asrs.entity.param.InitPakoutParam; +import com.zy.asrs.entity.param.MatnrDto; +import com.zy.asrs.entity.param.PakinParam; +import com.zy.asrs.entity.result.Pakin; import com.zy.asrs.mapper.NodeMapper; +import com.zy.asrs.service.ManLocDetlService; +import com.zy.asrs.service.MatService; import com.zy.asrs.service.NodeService; +import com.zy.asrs.utils.SaasUtils; +import com.zy.asrs.utils.VersionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.beans.Transient; import java.util.Date; +import java.util.List; @Service("nodeService") public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements NodeService { + @Autowired + private NodeService nodeService; + @Autowired + private MatService matService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private ManLocDetlService manLocDetlService; @Override public Node getTop() { Node top = this.selectOne(new EntityWrapper<Node>().eq("type", 0).eq("level", 0)); @@ -52,4 +77,128 @@ public Node selectByUuid(String uuid, Long hostId, Integer type, Long parentId) { return selectOne(new EntityWrapper<Node>().eq("host_id", hostId).eq("uuid", uuid).eq("type", type).eq("parent_id", parentId)); } + + @Override + public R stockPakin(PakinParam param, Long userId, Long hostId) { + Node node = nodeService.selectByUuid(param.getNodeId(), hostId); + if (node == null) { + node = nodeService.selectById(param.getNodeId()); + } + if (node == null) { + return R.error("璐т綅涓嶅瓨鍦�"); + } + if (Cools.isEmpty(param.getMats())) { + return R.error("鍏ュ簱鐗╂枡涓嶈兘涓虹┖"); + } + Date now = new Date(); + for (MatnrDto dto : param.getMats()) { + + Mat mat = matService.selectByMatnr(dto.getMatnr()); + if (mat == null) { + throw new CoolException("鐗╂枡鏁版嵁閿欒锛岃鑱旂郴绠$悊鍛�"); + } + ManLocDetl check = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() + .eq("loc_no", node.getUuid()) + .eq("matnr", dto.getMatnr())); + if (check == null) { + ManLocDetl manLocDetl = new ManLocDetl(); + manLocDetl.setLocNo(node.getUuid()); + manLocDetl.setNodeId(node.getId()); + manLocDetl.setZpallet(mat.getBarcode()); + manLocDetl.setAnfme(dto.getCount()); + manLocDetl.setMatnr(mat.getMatnr()); + manLocDetl.setMaktx(mat.getMaktx()); + manLocDetl.setName(mat.getName()); + manLocDetl.setBatch(null); + manLocDetl.setSpecs(mat.getSpecs()); + manLocDetl.setModel(mat.getModel()); + manLocDetl.setCreateTime(now); + manLocDetl.setModiTime(now); + manLocDetl.setCreateBy(userId); + SaasUtils.insertLog(0,manLocDetl.getLocNo(),manLocDetl.getMatnr(), manLocDetl.getAnfme()); + manLocDetlService.insert(manLocDetl); + }else { + check.setAnfme(dto.getCount() + check.getAnfme()); + manLocDetlService.update(check,new EntityWrapper<ManLocDetl>() + .eq("loc_no", node.getUuid()) + .eq("matnr", dto.getMatnr())); + } + + + } + return R.ok("鍏ュ簱鎴愬姛"); + } + + @Transactional + @Override + public R initPakout(List<InitPakoutParam> params, Long userId, Long hostId) { + if (!Cools.isEmpty(params)) { + Date now = new Date(); + for (InitPakoutParam param : params) { + ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() + .eq("node_id", param.getNodeId()) + .eq("matnr", param.getMatnr())); + Node node = nodeService.selectOne(new EntityWrapper<Node>() + .eq("id", param.getNodeId())); + if (node == null) { + return R.error("鎵句笉鍒拌搴撲綅,璇疯仈绯荤鐞嗗憳:" + param.getNodeId() ); + } + if (manLocDetl == null) { + return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑涓嶅瓨鍦�"); + } + if (manLocDetl.getAnfme() - param.getCount() < 0) { + return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑鏁伴噺涓嶈冻"); + } else if (manLocDetl.getAnfme() - param.getCount() == 0) { + SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount()); + manLocDetlService.delete(new EntityWrapper<ManLocDetl>() + .eq("loc_no",node.getUuid()) + .eq("matnr",param.getMatnr())); + } else { + + manLocDetl.setAnfme(manLocDetl.getAnfme() - param.getCount()); + manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>() + .eq("loc_no",node.getUuid()) + .eq("matnr",param.getMatnr())); + SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount()); + } + } + } + return R.ok("鍑哄簱鎴愬姛"); + } + + @Transactional + @Override + public void locMove(String sourceLocNo, String targetLocNo, Long userId) { + List<ManLocDetl> sourceManDetl = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>() + .like("loc_no", sourceLocNo)); + for (ManLocDetl source : sourceManDetl) { + Node targetNode = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid", targetLocNo)); + Node sourceNode = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid", sourceLocNo)); + if (targetNode == null || targetNode.equals("")) { + throw new RuntimeException("鏃犳硶鏌ヨ鍒扮Щ搴撶殑鐩爣搴撲綅"); + } + ManLocDetl check = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() + .eq("loc_no", targetNode.getUuid()) + .eq("matnr", source.getMatnr())); + if (check == null) { + manLocDetlService.deleteById(source); + source.setLocNo(targetNode.getUuid()); + source.setNodeId(targetNode.getId()); + + SaasUtils.insertLog(2,source.getLocNo(), source.getMatnr(), source.getAnfme()); + manLocDetlService.insert(source); + }else { + check.setAnfme(check.getAnfme() + source.getAnfme()); + manLocDetlService.update(check,new EntityWrapper<ManLocDetl>() + .eq("loc_no", targetNode.getUuid()) + .eq("matnr", check.getMatnr())); + manLocDetlService.delete(new EntityWrapper<ManLocDetl>() + .eq("loc_no", sourceNode.getUuid()) + .eq("matnr", source.getMatnr())); + } + + } + } } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index 327edbb..3e98ae8 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -90,4 +90,17 @@ public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) { return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0; } + + /** + * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲� + * @param orderNo + * @param matnr + * @param batch + * @param anfme + * @return + */ + @Override + public boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme) { + return this.baseMapper.increaseWorkQtytest(orderNo, matnr, batch, anfme) > 0; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 3ebff2a..cc172ba 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -802,6 +802,7 @@ if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { + //瀛楃涓蹭笉涓虹┖ if (!Cools.isEmpty(wrkDetl.getOrderNo())) { if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 173bc58..2184b1e 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -70,28 +70,28 @@ exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } } - // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆� - if (!Cools.isEmpty(wrkDetls)) { - if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { - exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } +// // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆� +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } // 鎷f枡鍐嶅叆搴� } else if (wrkMast.getIoType() == 53) { - if (!Cools.isEmpty(wrkDetls)) { - if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { - exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } } // 鍑哄簱 -------------------------------------------------------------------------------- } else if (wrkMast.getWrkSts() == 15) { - if (!Cools.isEmpty(wrkDetls)) { - if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { - exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - } +// if (!Cools.isEmpty(wrkDetls)) { +// if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { +// exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); +// } +// } } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� @@ -104,11 +104,11 @@ } // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { -// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } // 鍒犻櫎宸ヤ綔鏄庣粏妗� if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { -// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); } } catch (Exception e) { log.error("fail", e); diff --git a/src/main/java/com/zy/asrs/utils/SaasUtils.java b/src/main/java/com/zy/asrs/utils/SaasUtils.java new file mode 100644 index 0000000..555ec87 --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/SaasUtils.java @@ -0,0 +1,22 @@ +package com.zy.asrs.utils; + +import com.core.common.SpringUtils; +import com.fasterxml.jackson.databind.util.BeanUtil; +import com.zy.system.entity.SaasLog; +import com.zy.system.service.SaasLogService; + +import java.util.Date; + +public class SaasUtils { + public static void insertLog(Integer type, String locNo, String matnr,Double anfme){ + SaasLogService bean = SpringUtils.getBean(SaasLogService.class); + SaasLog saasLog = new SaasLog(); + saasLog.setType(type); + saasLog.setLocNo(locNo); + saasLog.setMatnr(matnr); + saasLog.setIoTime(new Date()); + saasLog.setAnfme(anfme); + saasLog.setCreateBy(1L); + bean.insert(saasLog); + } +} diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java index b61bfb3..09ef9c2 100644 --- a/src/main/java/com/zy/asrs/utils/VersionUtils.java +++ b/src/main/java/com/zy/asrs/utils/VersionUtils.java @@ -1,6 +1,8 @@ package com.zy.asrs.utils; import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.Mat; +import com.zy.asrs.entity.result.Pakin; import com.zy.common.model.LocTypeDto; /** @@ -11,7 +13,7 @@ // 涓氬姟 ---------------------------------------------------------------------- -// public static void setWrkDetl(WrkDetl wrkDetl, Mat mat) { + // public static void setWrkDetl(WrkDetl wrkDetl, Mat mat) { // wrkDetl.setMatnr(matCode.getMatNo()); // 鐗╂枡缂栧彿 // wrkDetl.setMaktx(matCode.getMatName()); // 鐗╂枡鎻忚堪 // wrkDetl.setLgnum(matCode.getStr2()); // 瑙勬牸 @@ -110,12 +112,24 @@ // wrkDetl.setSupplier(orderDetl.getSupplier()); // 搴忓垪鐮� // wrkDetl.setAltme(orderDetl.getUnit()); // 鍗曚綅 // } + public static void setPakin(Pakin pakin, Mat mat) { + pakin.setMatnr(mat.getMatnr()); + pakin.setMaktx(mat.getMaktx()); + pakin.setName(mat.getName()); + pakin.setSpecs(mat.getSpecs()); + pakin.setModel(mat.getModel()); + pakin.setUnit(mat.getUnit()); + pakin.setBarcode(mat.getBarcode()); + pakin.setItemNum(Integer.valueOf(mat.getItemNum())); + pakin.setPrice(mat.getPrice()); + pakin.setWeight(mat.getWeight()); + } /** - * 搴撲綅绉昏浆鏃剁被鍨嬫娴� + * 搴撲綅绉昏浆鏃剁被鍨嬫娴� **/ - public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto){ + public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto) { // 濡傛灉婧愬簱浣嶆槸楂樺簱浣嶏紝鐩爣搴撲綅鏄綆搴撲綅 if (dto.getLocType1() == 2 && loc.getLocType1() == 1) { return false; diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java index 1e67a86..6a3ff20 100644 --- a/src/main/java/com/zy/common/CodeBuilder.java +++ b/src/main/java/com/zy/common/CodeBuilder.java @@ -17,10 +17,10 @@ // generator.table="sys_host"; // sqlserver generator.sqlOsType = SqlOsType.SQL_SERVER; - generator.url="localhost:1433;databasename=jkasrs"; + generator.url="192.168.4.15:1433;databasename=hylyasrs"; generator.username="sa"; generator.password="sa@123"; - generator.table="asr_wrkin_count_view"; + generator.table="man_loc_check"; generator.packagePath="com.zy.asrs"; generator.build(); } diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java index ca099a3..b78237e 100644 --- a/src/main/java/com/zy/common/model/LocDto.java +++ b/src/main/java/com/zy/common/model/LocDto.java @@ -25,10 +25,12 @@ private boolean lack = false; + //鐩爣绔欑偣 private List<Integer> staNos; private Integer staNo; + public LocDto() { } diff --git a/src/main/java/com/zy/system/controller/SaasLogController.java b/src/main/java/com/zy/system/controller/SaasLogController.java new file mode 100644 index 0000000..538364d --- /dev/null +++ b/src/main/java/com/zy/system/controller/SaasLogController.java @@ -0,0 +1,124 @@ +package com.zy.system.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.DateUtils; +import com.zy.system.entity.SaasLog; +import com.zy.system.service.SaasLogService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class SaasLogController extends BaseController { + + @Autowired + private SaasLogService saasLogService; + + @RequestMapping(value = "/saasLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(saasLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/saasLog/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){ + EntityWrapper<SaasLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.orderBy("io_time",false); + return R.ok(saasLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/saasLog/add/auth") + @ManagerAuth + public R add(SaasLog saasLog) { + saasLogService.insert(saasLog); + return R.ok(); + } + + @RequestMapping(value = "/saasLog/update/auth") + @ManagerAuth + public R update(SaasLog saasLog){ + if (Cools.isEmpty(saasLog) || null==saasLog.getId()){ + return R.error(); + } + saasLogService.updateById(saasLog); + return R.ok(); + } + + @RequestMapping(value = "/saasLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + saasLogService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/saasLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<SaasLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("saasLog")); + convert(map, wrapper); + List<SaasLog> list = saasLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/saasLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<SaasLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<SaasLog> page = saasLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (SaasLog saasLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", saasLog.getId()); + map.put("value", saasLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/saasLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<SaasLog> wrapper = new EntityWrapper<SaasLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != saasLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(SaasLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/system/entity/SaasLog.java b/src/main/java/com/zy/system/entity/SaasLog.java new file mode 100644 index 0000000..36d64e3 --- /dev/null +++ b/src/main/java/com/zy/system/entity/SaasLog.java @@ -0,0 +1,96 @@ +package com.zy.system.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("sys_saas_log") +public class SaasLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value= "id") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * {0:鍏ュ簱,1:鍑哄簱} + */ + @ApiModelProperty(value= "{0:鍏ュ簱,1:鍑哄簱}") + private Integer type; + + @ApiModelProperty(value= "") + @TableField("loc_no") + private String locNo; + + @ApiModelProperty(value= "") + private String matnr; + + @ApiModelProperty(value= "") + @TableField("io_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date ioTime; + + @ApiModelProperty(value= "") + @TableField("create_by") + private Long createBy; + + @TableField("anfme") + private Double anfme; + + public SaasLog() {} + + public SaasLog(Long id,Integer type,String locNo,String matnr,Date ioTime,Long createBy) { + this.id = id; + this.type = type; + this.locNo = locNo; + this.matnr = matnr; + this.ioTime = ioTime; + this.createBy = createBy; + } + +// SaasLog saasLog = new SaasLog( +// null, // id[闈炵┖] +// null, // {0:鍏ュ簱,1:鍑哄簱} +// null, // +// null, // +// null, // +// null // +// ); + + public String getIoTime$(){ + if (Cools.isEmpty(this.ioTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); + } + + public String getType$(){ + if (this.type ==0) { + return "鍏ュ簱"; + } else if (this.type == 1) { + return "鍑哄簱"; + } else if (this.type == 2) { + return "搴撲綅绉昏浆"; + } else if (this.type == 3) { + return "搴撳瓨璋冩暣"; + }else { + return ""; + } + + } + + +} diff --git a/src/main/java/com/zy/system/mapper/SaasLogMapper.java b/src/main/java/com/zy/system/mapper/SaasLogMapper.java new file mode 100644 index 0000000..21975a7 --- /dev/null +++ b/src/main/java/com/zy/system/mapper/SaasLogMapper.java @@ -0,0 +1,12 @@ +package com.zy.system.mapper; + +import com.zy.system.entity.SaasLog; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface SaasLogMapper extends BaseMapper<SaasLog> { + +} diff --git a/src/main/java/com/zy/system/service/SaasLogService.java b/src/main/java/com/zy/system/service/SaasLogService.java new file mode 100644 index 0000000..5d4e5f7 --- /dev/null +++ b/src/main/java/com/zy/system/service/SaasLogService.java @@ -0,0 +1,8 @@ +package com.zy.system.service; + +import com.zy.system.entity.SaasLog; +import com.baomidou.mybatisplus.service.IService; + +public interface SaasLogService extends IService<SaasLog> { + +} diff --git a/src/main/java/com/zy/system/service/impl/SaasLogServiceImpl.java b/src/main/java/com/zy/system/service/impl/SaasLogServiceImpl.java new file mode 100644 index 0000000..ceacc73 --- /dev/null +++ b/src/main/java/com/zy/system/service/impl/SaasLogServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.system.service.impl; + +import com.zy.system.mapper.SaasLogMapper; +import com.zy.system.entity.SaasLog; +import com.zy.system.service.SaasLogService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("saasLogService") +public class SaasLogServiceImpl extends ServiceImpl<SaasLogMapper, SaasLog> implements SaasLogService { + +} diff --git a/src/main/java/locCheck.sql b/src/main/java/locCheck.sql new file mode 100644 index 0000000..a7cf3be --- /dev/null +++ b/src/main/java/locCheck.sql @@ -0,0 +1,18 @@ +-- save locCheck record +-- mysql +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck/locCheck.html', 'locCheck绠$悊', null , '2', null , '1'); + +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#view', '鏌ヨ', '', '3', '0', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-add', '鏂板', '', '3', '1', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-edit', '缂栬緫', '', '3', '2', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-delete', '鍒犻櫎', '', '3', '3', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-export', '瀵煎嚭', '', '3', '4', '1'); + +-- sqlserver +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck/locCheck.html', N'locCheck绠$悊', null, '2', null, '1'); + +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#view', N'鏌ヨ', '60565', '3', '0', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-add', N'鏂板', '60565', '3', '1', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-edit', N'缂栬緫', '60565', '3', '2', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-delete', N'鍒犻櫎', '60565', '3', '3', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-export', N'瀵煎嚭', '60565', '3', '4', '1'); diff --git a/src/main/java/saasLog.sql b/src/main/java/saasLog.sql new file mode 100644 index 0000000..c67ce09 --- /dev/null +++ b/src/main/java/saasLog.sql @@ -0,0 +1,18 @@ +-- save saasLog record +-- mysql +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog/saasLog.html', 'saasLog绠$悊', null , '2', null , '1'); + +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog#view', '鏌ヨ', '', '3', '0', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog#btn-add', '鏂板', '', '3', '1', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog#btn-edit', '缂栬緫', '', '3', '2', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog#btn-delete', '鍒犻櫎', '', '3', '3', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'saasLog#btn-export', '瀵煎嚭', '', '3', '4', '1'); + +-- sqlserver +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog/saasLog.html', N'saasLog绠$悊', null, '2', null, '1'); + +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog#view', N'鏌ヨ', '60558', '3', '0', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog#btn-add', N'鏂板', '60558', '3', '1', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog#btn-edit', N'缂栬緫', '60558', '3', '2', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog#btn-delete', N'鍒犻櫎', '60558', '3', '3', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'saasLog#btn-export', N'瀵煎嚭', '60558', '3', '4', '1'); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d5ed12f..d05f03d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -26,7 +26,7 @@ maxRequestSize: 100MB mybatis-plus: - mapper-locations: classpath:mapper/*.xml + mapper-locations: classpath:mapper/*.xml # global-config: # field-strategy: 0 # configuration: diff --git a/src/main/resources/mapper/LocCheckMapper.xml b/src/main/resources/mapper/LocCheckMapper.xml new file mode 100644 index 0000000..7837e9a --- /dev/null +++ b/src/main/resources/mapper/LocCheckMapper.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.LocCheckMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocCheck"> + <id column="id" property="id" /> + <result column="type" property="type" /> + <result column="loc_no" property="locNo" /> + <result column="matnr" property="matnr" /> + <result column="origin_anfme" property="originAnfme" /> + <result column="real_anfme" property="realAnfme" /> + <result column="create_by" property="createBy" /> + <result column="create_time" property="createTime" /> + <result column="update_by" property="updateBy" /> + <result column="update_time" property="updateTime" /> + <result column="memo" property="memo" /> + + </resultMap> + +</mapper> diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index feaf239..70de3ea 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -111,14 +111,14 @@ <select id="getStockOutPage" resultMap="BaseResultMap"> select * from ( - select - ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row, - a.* - from asr_loc_detl a - left join asr_loc_mast b on a.loc_no = b.loc_no - where 1=1 - and b.loc_sts = 'F' - <include refid="stockOutCondition"></include> + select + ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row, + a.* + from asr_loc_detl a + left join asr_loc_mast b on a.loc_no = b.loc_no + where 1=1 + and b.loc_sts = 'F' + <include refid="stockOutCondition"></include> ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> @@ -135,19 +135,19 @@ <select id="getStockStatis" resultType="com.zy.asrs.entity.LocDetl"> select * from ( - select - ROW_NUMBER() over (order by sum(a.anfme) desc) as row - , a.matnr - , sum(a.anfme) as anfme - from asr_loc_detl a - where 1=1 - <include refid="stockOutCondition"></include> - group by a.matnr - ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) + select + ROW_NUMBER() over (order by sum(a.anfme) desc) as row + , a.matnr + , sum(a.anfme) as anfme + from asr_loc_detl a + where 1=1 + <include refid="stockOutCondition"></include> + group by a.matnr + ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer"> - select count(1) as count from + select count(1) as count from ( select a.matnr @@ -155,7 +155,7 @@ where 1=1 <include refid="stockOutCondition"></include> group by a.matnr - ) b + ) b </select> <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl"> @@ -205,14 +205,14 @@ where 1=1 and b.loc_sts = 'F' and a.matnr = #{matnr} -<!-- <choose>--> -<!-- <when test="batch != null and batch != ''">--> -<!-- and a.batch = #{batch}--> -<!-- </when>--> -<!-- <otherwise>--> -<!-- and (a.batch IS NULL OR a.batch = '')--> -<!-- </otherwise>--> -<!-- </choose>--> + <!-- <choose>--> + <!-- <when test="batch != null and batch != ''">--> + <!-- and a.batch = #{batch}--> + <!-- </when>--> + <!-- <otherwise>--> + <!-- and (a.batch IS NULL OR a.batch = '')--> + <!-- </otherwise>--> + <!-- </choose>--> <if test="batch != null and batch != ''"> and a.batch = #{batch} </if> @@ -287,8 +287,8 @@ <select id="queryStockAnfme" resultType="java.lang.Double"> select sum(anfme) as count from man_loc_detl - where 1=1 - and matnr = #{matnr} + where 1=1 + and matnr = #{matnr} <if test="batch != null and batch != ''"> and batch = #{batch} </if> @@ -322,4 +322,5 @@ where loc_no=#{locNo} </select> + </mapper> diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml index bfa79c1..940e46c 100644 --- a/src/main/resources/mapper/ManLocDetlMapper.xml +++ b/src/main/resources/mapper/ManLocDetlMapper.xml @@ -40,6 +40,9 @@ <if test="loc_no != null and loc_no != ''"> and mld.loc_no like concat('%',#{loc_no},'%') </if> + <if test="locNo != null and locNo != ''"> + and mld.loc_no like concat('%',#{loc_no},'%') + </if> <if test="matnr != null and matnr != ''"> and mld.matnr like concat('%',#{matnr},'%') </if> @@ -48,6 +51,26 @@ </if> <if test="startTime!=null and endTime!=null"> and mld.update_time between #{startTime} and #{endTime} + </if> + </sql> + <sql id="locDetlCondition2"> + <if test="host_id != null and host_id != ''"> + and v.host_id = #{host_id} + </if> + <if test="loc_no != null and loc_no != ''"> + and v.loc_no like concat('%',#{loc_no},'%') + </if> + <if test="locNo != null and locNo != ''"> + and v.loc_no like concat('%',#{loc_no},'%') + </if> + <if test="matnr != null and matnr != ''"> + and v.matnr like concat('%',#{matnr},'%') + </if> + <if test="maktx != null and maktx != ''"> + and v.maktx like concat('%',#{maktx},'%') + </if> + <if test="startTime!=null and endTime!=null"> + and v.update_time between #{startTime} and #{endTime} </if> </sql> @@ -62,8 +85,8 @@ LEFT JOIN man_mat mm ON mld.matnr = mm.matnr LEFT JOIN man_tag mt ON mm.tag_id = mt.id WHERE 1=1 - AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id}) - AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id}) + AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id}) + AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id}) <include refid="locDetlCondition"></include> ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> @@ -219,4 +242,75 @@ </select> <select id="selectLocDetlSumQty" resultType="java.lang.Double"></select> + <select id="selectLocNo0" resultMap="BaseResultMap"> + select * from man_loc_detl + where loc_no = #{locNo} + and matnr = #{matnr} + </select> + <select id="selectItem0" resultType="com.zy.asrs.entity.ManLocDetl"> + select top 1 * from man_loc_detl + where loc_no = #{locNo} + and matnr = #{matnr} + </select> + + <select id="listByOutPage" resultMap="BaseResultMap"> + select * from + ( + SELECT + ROW_NUMBER() over (order by mld.create_time desc) as row, + mld.* + FROM man_loc_detl mld + LEFT JOIN man_node mn ON mld.node_id = mn.id + LEFT JOIN man_mat mm ON mld.matnr = mm.matnr + LEFT JOIN man_tag mt ON mm.tag_id = mt.id + WHERE 1=1 + <include refid="locDetlCondition"></include> + ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) + </select> + <select id="listByOutPageCount" resultType="java.lang.Long"> + select + count(1) + FROM man_loc_detl mld + LEFT JOIN man_node mn ON mld.node_id = mn.id + LEFT JOIN man_mat mm ON mld.matnr = mm.matnr + LEFT JOIN man_tag mt ON mm.tag_id = mt.id + WHERE 1=1 + <include refid="locDetlCondition"></include> + </select> + <select id="selectAllPage" resultMap="BaseResultMap"> + select * from + ( + SELECT + ROW_NUMBER() over (order by v.loc_no desc) as row, + v.* + FROM [dbo].[man_view_asrs_saas] v + WHERE 1=1 + <include refid="locDetlCondition2"></include> + ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) + </select> + <select id="selectAllPageSize" resultType="java.lang.Long"> + select + count(1) + FROM [dbo].[man_view_asrs_saas] v + WHERE 1=1 + <include refid="locDetlCondition2"></include> + </select> + + + <update id="updateLocNo0"> + update man_loc_detl set loc_no = #{locNo} + where node_id = #{nodeId} + </update> + + <delete id="deleteLocNo0"> + delete from man_loc_detl + where loc_no = #{locNo} + and matnr = #{matnr} + </delete> + + <update id="updateAnfme0"> + update man_loc_detl set anfme = #{anfme} + where node_id = #{nodeId} ; + </update> + </mapper> diff --git a/src/main/resources/mapper/NodeMapper.xml b/src/main/resources/mapper/NodeMapper.xml new file mode 100644 index 0000000..c83cd82 --- /dev/null +++ b/src/main/resources/mapper/NodeMapper.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.NodeMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Node"> + <id column="id" property="id" /> + <result column="host_id" property="hostId" /> + <result column="uuid" property="uuid" /> + <result column="name" property="name" /> + <result column="parent_id" property="parentId" /> + <result column="parent_name" property="parentName" /> + <result column="type" property="type" /> + <result column="path" property="path" /> + <result column="name_path" property="namePath" /> + <result column="level" property="level" /> + <result column="leading" property="leading" /> + <result column="sort" property="sort" /> + <result column="barcode" property="barcode" /> + <result column="major" property="major" /> + <result column="status" property="status" /> + <result column="create_time" property="createTime" /> + <result column="create_by" property="createBy" /> + <result column="update_time" property="updateTime" /> + <result column="update_by" property="updateBy" /> + <result column="memo" property="memo" /> + + </resultMap> + + <select id="selectByUuid" resultMap="BaseResultMap"> + select * from man_node where 1=1 and uuid=#{uuid} and host_id = #{hostId} and status = 1 + </select> + +</mapper> diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 74ebaf0..25b6cf8 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -98,17 +98,17 @@ <select id="getPakoutPage" resultMap="BaseResultMap"> select * from ( - select - ROW_NUMBER() over (order by mo.create_time desc) as row, - mod.* - from man_order_detl mod - inner join man_order mo on mod.order_id = mo.id - inner join man_doc_type mdt on mo.doc_type = mdt.doc_id - where 1=1 - and mo.settle <= 2 - and mo.status = 1 - and mdt.pakout = 1 - <include refid="pakOutPageCondition"></include> + select + ROW_NUMBER() over (order by mo.create_time desc) as row, + mod.* + from man_order_detl mod + inner join man_order mo on mod.order_id = mo.id + inner join man_doc_type mdt on mo.doc_type = mdt.doc_id + where 1=1 + and mo.settle <= 2 + and mo.status = 1 + and mdt.pakout = 1 + <include refid="pakOutPageCondition"></include> ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> diff --git a/src/main/resources/mapper/SaasLogMapper.xml b/src/main/resources/mapper/SaasLogMapper.xml new file mode 100644 index 0000000..6dcd2b3 --- /dev/null +++ b/src/main/resources/mapper/SaasLogMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.system.mapper.SaasLogMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.system.entity.SaasLog"> + <result column="id" property="id" /> + <result column="type" property="type" /> + <result column="loc_no" property="locNo" /> + <result column="matnr" property="matnr" /> + <result column="io_time" property="ioTime" /> + <result column="create_by" property="createBy" /> + + </resultMap> + +</mapper> diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/ViewWorkInMapper.xml index e63997b..7eb0f43 100644 --- a/src/main/resources/mapper/ViewWorkInMapper.xml +++ b/src/main/resources/mapper/ViewWorkInMapper.xml @@ -11,6 +11,9 @@ <if test="matnr!=null and matnr!='' "> and matnr like '%' + #{matnr} + '%' </if> + <if test="batch!=null and batch!='' "> + and batch like '%' + #{batch} + '%' + </if> <if test="maktx!=null and maktx!='' "> and (maktx like '%' + #{maktx} + '%' or matnr like '%' + #{maktx} + '%' diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 55b4401..254f32b 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -224,13 +224,13 @@ var detlCols = [ {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true} ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true} - ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false} - ,{field: 'batch', align: 'center',title: '鎵瑰彿', sort:true} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: true} + ,{field: 'batch', align: 'center',title: '鍚堝悓鍙�', sort:true} ,{field: 'anfme', align: 'center',title: '鏁伴噺'} ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'} ,{field: 'specs', align: 'center',title: '瑙勬牸'} - ,{field: 'model', align: 'center',title: '浠g爜', hide: false} + ,{field: 'model', align: 'center',title: '浠g爜', hide: true} ,{field: 'color', align: 'center',title: '棰滆壊', hide: true} ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true} ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} @@ -243,10 +243,10 @@ ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true} ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true} ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true} - ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: false} - ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: false} - ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: false} - ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: false} + ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true} + ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true} + ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true} + ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true} ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true} ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true} ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true} diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js index d817c09..688e893 100644 --- a/src/main/webapp/static/js/cool.js +++ b/src/main/webapp/static/js/cool.js @@ -15,7 +15,9 @@ */ function autoShow(id) { var cac = document.getElementById(id).parentNode; + console.log(cac); var cacw = cac.getElementsByClassName("cool-auto-complete-window")[0]; + console.log(cacw); if (cacw.style.display === "none" || cacw.style.display === ""){ cacw.style.display = "block"; var cacwi = cacw.getElementsByClassName("cool-auto-complete-window-input")[0]; diff --git a/src/main/webapp/static/js/ioWorks/matQuery.js b/src/main/webapp/static/js/ioWorks/matQuery.js new file mode 100644 index 0000000..f2a2614 --- /dev/null +++ b/src/main/webapp/static/js/ioWorks/matQuery.js @@ -0,0 +1,397 @@ + +var matData = []; +var cstmrVal; +var itemVal; + +function getCol() { + var cols = [ + {field: 'count', align: 'center',title: '鍑哄簱鏁伴噺', edit:'text', width: 130, style:'color: blue;font-weight: bold'} + ]; + arrRemove(matCols, 'field', 'anfme'); + cols.push.apply(cols, matCols); + cols.push( + {field: 'stock', align: 'center',title: '搴撳瓨浣欓噺', style: 'font-weight: bold'}, + {fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:65} + ) + return cols; +} +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).extend({ + notice: 'notice/notice', +}).use(['table','laydate', 'form', 'admin', 'notice', 'xmSelect'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var form = layui.form; + var notice = layui.notice; + var layDate = layui.laydate; + var admin = layui.admin; + var xmSelect = layui.xmSelect; + + tableIns = table.render({ + elem: '#chooseData', + headers: {token: localStorage.getItem('token')}, + data: [], + limit: 100, + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + done: function(res, curr, count) { + limit(); + } + }); + + // 椤甸潰淇敼 + table.on('edit(chooseData)', function (obj) { + updateMatData(obj.data.locNo, obj.data.matnr, Number(obj.value)); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(chooseData)', function (obj) { + var data = matData; + switch (obj.event) { + case 'createDoc': + if (data.length === 0){ + notice.error({ + title: '娑堟伅閫氱煡', + message: '璇锋坊鍔犵墿鏂�' + }); + } else { + var success = true; + for (var i=0;i<matData.length;i++) { + if (matData[i].count <= 0) { + notice.error({ + title: '娑堟伅閫氱煡', + message: matData[i].matnr + '鐗╂枡鏁伴噺蹇呴』澶т簬闆讹紒' + }); + success = false; + return false; + } + } + var index = layer.load(1, {shade: [0.1,'#000']}); + // 鍗曟嵁绫诲瀷 + var docTypeData; + $.ajax({ + url: baseUrl+"/work/docType/all/get", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + docTypeData = res; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + var tpl1 = $('#docTypeSelectTpl').html(); + var template1 = Handlebars.compile(tpl1); + var html1 = template1(docTypeData); + $("#docType").html(html1); + + // 瀹㈡埛 + var cstmrData; + // $.ajax({ + // url: baseUrl+"/work/cstmr/all/get", + // headers: {'token': localStorage.getItem('token')}, + // method: 'POST', + // async: false, + // success: function (res) { + // if (res.code === 200){ + // cstmrData = res; + // } else { + // layer.msg(res.msg, {icon: 2}) + // } + // } + // }); + // var tpl2 = $('#cstmrSelectTpl').html(); + // var template2 = Handlebars.compile(tpl2); + // var html2 = template2(cstmrData); + // $("#cstmr").html(html2); + // 鍗曢�� + $.ajax({ + url: baseUrl+"/work/cstmr/all/get/kv", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + cstmrData = res.data; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + cstmrVal = xmSelect.render({ + el: '#cstmr', + radio: true, + clickClose: true, + filterable: true, + create: function(val, arr){ + if(arr.length === 0){ + return { + name: val, + value: val + } + } + }, + model: { + icon: 'hidden', + label: { + type: 'text', + } + }, + data: cstmrData + }) + + // 椤圭洰 + var itemData; + // $.ajax({ + // url: baseUrl+"/work/item/all/get", + // headers: {'token': localStorage.getItem('token')}, + // method: 'POST', + // async: false, + // success: function (res) { + // if (res.code === 200){ + // itemData = res; + // } else { + // layer.msg(res.msg, {icon: 2}); + // } + // } + // }); + // var tpl3 = $('#itemSelectTpl').html(); + // var template3 = Handlebars.compile(tpl3); + // var html3 = template3(itemData); + // $("#item").html(html3); + $.ajax({ + url: baseUrl+"/work/item/all/get/kv", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + itemData = res.data; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }); + itemVal = xmSelect.render({ + el: '#item', + radio: true, + clickClose: true, + filterable: true, + create: function(val, arr){ + if(arr.length === 0){ + return { + name: val, + value: val + } + } + }, + model: { + icon: 'hidden', + label: { + type: 'text', + } + }, + data: itemData + }) + + // 寮圭獥 + layer.close(index); + if (success) { + admin.open({ + type: 1, + title: '鍗曟嵁濉厖', + offset: '100px', + area: ['360px'], + shade: 0.3, + content: $('#getOrderNo'), + success: function(layero, index){ + layer.iframeAuto(index); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + }, + cancel: function () { + $('#orderNo').val(''); + } + }); + } + } + break; + } + }); + + + // // 澶氶�� + // var demo1 = xmSelect.render({ + // el: '#demo1', + // filterable: true, + // create: function(val, arr){ + // if(arr.length === 0){ + // return { + // name: val, + // value: val + // } + // } + // }, + // data: [ + // {name: '寮犱笁', value: 1, selected: true}, + // {name: '鏉庡洓', value: 2}, + // {name: '鐜嬩簲', value: 3, disabled: true}, + // ] + // }) + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(chooseData)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'remove': + for (var i = matData.length - 1; i >= 0; i--) { + if (matData[i].matnr === data.matnr) { + matData.splice(i, 1); + } + } + tableIns.reload({data: matData,done:function (res) { + limit(); + }}); + break; + } + }); + + // 寮�濮嬬敓鎴愭嫞璐у崟 + form.on('submit(confirm)', function (data) { + var matDetls = []; + matData.forEach(function(elem) { + matDetls.push({ + matnr: elem.matnr + , count: elem.count + }); + }); + var req = JSON.stringify({ + docType: data.field.docType + , orderNo: data.field.orderNo + , orderTime: data.field.orderTime + , item: itemVal.getValue()[0] ? itemVal.getValue()[0].name : null + , cstmr: cstmrVal.getValue()[0] ? cstmrVal.getValue()[0].name : null + , list: matDetls + }) + $.ajax({ + url: baseUrl+"/work/order/init", + headers: {'token': localStorage.getItem('token')}, + data: req, + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200){ + notice.success({ + title: '娑堟伅閫氱煡', + message: res.msg + }); + top.layui.layer.close(top.popupRight); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + notice.error({ + title: '娑堟伅閫氱煡', + message: res.msg + }); + } + } + }); + }) + + function updateMatData(locNo, matnr, count) { + if (isNaN(count)) { + notice.error({ + title: '娑堟伅閫氱煡', + message: '璇疯緭鍏ユ暟瀛�' + }); + } else { + if (count > 0) { + for (var i=0;i<matData.length;i++){ + if (matData[i]["matnr"] === matnr){ + matData[i]["count"] = count; + break; + } + } + } else { + notice.error({ + title: '娑堟伅閫氱煡', + message: '鏁伴噺蹇呴』澶т簬闆�' + }); + } + } + tableIns.reload({data: matData,done:function (res) { + limit(); + }}); + } + + layDate.render({ + elem: '#orderTime', + trigger: 'click', + type: 'date' + }); + +}) + +// 鎻愬彇鐗╂枡 +var matDetlLayerIdx; +function getMatDetl() { + matDetlLayerIdx = layer.open({ + type: 2, + title: '鎻愬彇鍑哄簱鐗╂枡', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'matQueryBox.html', + success: function(layero, index){ + } + }); +} + +// 娣诲姞琛ㄦ牸鏁版嵁 +function addTableData(data) { + for (var i=0;i<data.length;i++){ + let pass = false; + for (var j=0;j<matData.length;j++){ + if (data[i].matnr === matData[j].matnr) { + pass = true; + break; + } + } + if (pass) { + data.splice(i--, 1); + } else { + data[i]["count"] = 0; + } + + } + matData.push.apply(matData, data); + tableIns.reload({data: matData}); + layer.close(matDetlLayerIdx); +} + +function initOrderNo() { + $.ajax({ + url: baseUrl+"/work/orderNo/init", + headers: {'token': localStorage.getItem('token')}, + async: false, + method: 'GET', + success: function (res) { + if (res.code === 200){ + $('#orderNo').val(res.data) + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + notice.error({ + title: '娑堟伅閫氱煡', + message: res.msg + }); + } + } + }); +} \ No newline at end of file diff --git a/src/main/webapp/static/js/ioWorks/stockIn.js b/src/main/webapp/static/js/ioWorks/stockIn.js new file mode 100644 index 0000000..0bc2281 --- /dev/null +++ b/src/main/webapp/static/js/ioWorks/stockIn.js @@ -0,0 +1,274 @@ + +var initCountVal = 0; +var matCodeData = []; +function getCol() { + var cols = [ + {fixed: 'left', field: 'count', title: '鏁伴噺(蹇呭~)', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'} + ]; + cols.push.apply(cols, matCols); + cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80}) + return cols; +} + +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'treeTable'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + var xmSelect = layui.xmSelect; + var treeTable = layui.treeTable; + + tableIns = table.render({ + elem: '#chooseData', + data: [], + even: true, + limit: 500, + cellMinWidth: 50, + toolbar: '#toolbar', + cols: [getCol()], + done: function (res, curr, count) { + $('td[data-field=count] div').html(initCountVal); + setMatCodeData(res.data); + limit(); + } + }); + + // 椤甸潰淇敼 + table.on('edit(chooseData)', function (obj) { + updateMatCodeData(obj.data.matnr, Number(obj.value)); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(chooseData)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + var data = checkStatus.data; + switch(obj.event) { + case 'confirm': + + // 鍒ゆ柇鏄惁瀛樺湪鐗╂枡 + if (matCodeData.length === 0) { + layer.msg("璇峰厛娣诲姞鐗╂枡"); + return; + } + // 鍒ゆ柇鐗╂枡鏁伴噺鏄惁瀛樺湪寮傚父 + for (var i=0;i<matCodeData.length;i++){ + if (isNaN(matCodeData[i].count)) { + layer.msg("璇疯緭鍏ユ暟瀛�"); + return; + } + if (matCodeData[i].count === 0){ + layer.msg("鏁伴噺涓嶈兘涓洪浂"); + return; + } + } + + showNodeSelect(); + + // $.ajax({ + // url: baseUrl+"/full/store/put/start", + // headers: {'token': localStorage.getItem('token')}, + // data: JSON.stringify({ + // devpNo: Number($('#putSiteSelect').val()), + // list: matCodeData + // }), + // contentType:'application/json;charset=UTF-8', + // method: 'POST', + // async: false, + // success: function (res) { + // if (res.code === 200){ + // layer.msg("鍏ュ簱鍚姩鎴愬姛锛岀洰鏍囧簱浣嶏細" + res.data); + // matCodeData = []; + // tableIns.reload({data: matCodeData,done:function (res) { limit();}}); + // } else if (res.code === 403){ + // top.location.href = baseUrl+"/"; + // }else { + // layer.msg(res.msg) + // } + // } + // }) + // break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(chooseData)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'remove': + for (var i = matCodeData.length - 1; i >= 0; i--) { + if (matCodeData[i].matnr === data.matnr) { + matCodeData.splice(i, 1); + } + } + tableIns.reload({data: matCodeData,done:function (res) { + limit(); + // 瑕嗙洊render鏂规硶鐨刣one + }}); + break; + } + }); + + function setMatCodeData(data) { + matCodeData = data; + for (var i=0;i<matCodeData.length;i++){ + matCodeData[i]["count"] = initCountVal; + } + } + + function updateMatCodeData(matnr, count) { + if (isNaN(count)) { + layer.msg("璇疯緭鍏ユ暟瀛�"); + } else { + if (count > 0) { + for (var i=0;i<matCodeData.length;i++){ + if (matCodeData[i]["matnr"] === matnr){ + matCodeData[i]["count"] = count; + } + } + } else { + layer.msg("鏁伴噺蹇呴』澶т簬闆�"); + } + } + + tableIns.reload({data: matCodeData,done:function (res) { + limit(); + // 瑕嗙洊render鏂规硶鐨刣one + }}); + } + + /* 鏄剧ず琛ㄥ崟寮圭獥 */ + function showNodeSelect() { + admin.open({ + type: 1, + area: '400px', + title: '閫夋嫨鍏ュ簱璐т綅', + content: $('#nodeSelect').html(), + success: function (layero, dIndex) { + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(pakin)', function (data) { + data.field.nodeSel = insXmSel.getValue('valueStr'); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/work/stock/pakin", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify({ + nodeId: data.field.nodeSel, + mats: matCodeData + }), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + matCodeData = []; + tableIns.reload({data: matCodeData}); + limit(); + 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 insXmSel = xmSelect.render({ + el: '#nodeSel', + height: '250px', + data: insTb.options.data, + initValue: [], + 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'); + } + }); + } + + var insTb = treeTable.render({ + elem: '#node', + url: baseUrl+'/node/tree/auth', + headers: {token: localStorage.getItem('token')}, + height: 'full-200', + tree: { + iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪 + isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁 + idName: 'id', // id瀛楁鍚嶇О + pidName: 'parentId' // pid瀛楁鍚嶇О + }, + cols: [[ + {type: 'checkbox'} + ,{type: 'numbers'} + ,{field: 'name', align: 'left',title: '鍚嶇О', minWidth: 150} + ,{field: 'type$', align: 'center',title: '绫诲瀷'} + ,{field: 'leading', align: 'center',title: '璐熻矗浜�'} + ,{field: 'sort', align: 'center',title: '鎺掑簭', hide: true} + ,{field: 'status$', align: 'center',title: '鐘舵��'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true} + ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + done: function (data) { + $('.ew-tree-table-box').css('height', '100%'); + insTb.expandAll(); + } + }); + +}); + +// 鎻愬彇鐗╂枡 +var matCodeLayerIdx; +function getMat() { + matCodeLayerIdx = layer.open({ + type: 2, + title: '鎻愬彇鐗╂枡', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'matQuery.html', + success: function(layero, index){ + } + }); +} + +// 娣诲姞琛ㄦ牸鏁版嵁 +function addTableData(data) { + for (var i=0;i<data.length;i++){ + let pass = false; + for (var j=0;j<matCodeData.length;j++){ + if (data[i].matnr === matCodeData[j].matnr) { + pass = true; + break; + } + } + if (pass) { + data.splice(i--, 1); + } else { + data[i]["count"] = initCountVal; + } + } + matCodeData.push.apply(matCodeData, data); + tableIns.reload({data: matCodeData}); + layer.close(matCodeLayerIdx); +} \ No newline at end of file diff --git a/src/main/webapp/static/js/ioWorks/stockOut.js b/src/main/webapp/static/js/ioWorks/stockOut.js new file mode 100644 index 0000000..7823220 --- /dev/null +++ b/src/main/webapp/static/js/ioWorks/stockOut.js @@ -0,0 +1,180 @@ + +var locDetlData = []; +function getCol() { + var cols = [ + {field: 'count', align: 'center',title: '鍑哄簱鏁伴噺', edit:'text', width: 130, style:'color: blue;font-weight: bold'} + ,{field: 'anfme', align: 'center',title: '鍘熸暟閲�'} + ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�'} + ]; + arrRemove(detlCols, 'field', 'anfme'); + cols.push.apply(cols, detlCols); + cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80}) + return cols; +} + +layui.use(['table','laydate', 'form'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var form = layui.form; + + tableIns = table.render({ + elem: '#chooseData', + headers: {token: localStorage.getItem('token')}, + data: [], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + done: function(res, curr, count) { + limit(); + // getOutBound(); + } + }); + + // 椤甸潰淇敼 + table.on('edit(chooseData)', function (obj) { + updateLocDetlData(obj.data.locNo, obj.data.matnr, Number(obj.value)); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(chooseData)', function (obj) { + var data = locDetlData; + switch (obj.event) { + case 'outbound': + if (data.length === 0){ + layer.msg('璇峰厛娣诲姞搴撲綅鐗╂枡'); + } else { + var locDetls = []; + data.forEach(function(elem) { + locDetls.push({nodeId: elem.nodeId, matnr: elem.matnr, count: elem.count}); + }); + $.ajax({ + url: baseUrl+"/work/stock/pakout", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(locDetls), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200){ + locDetlData = []; + tableIns.reload({data: locDetlData,done:function (res) { + limit(); + // getOutBound(); + }}); + layer.msg(res.msg, {icon: 1}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + } + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(chooseData)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'remove': + for (var i = locDetlData.length - 1; i >= 0; i--) { + if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) { + locDetlData.splice(i, 1); + } + } + tableIns.reload({data: locDetlData,done:function (res) { + limit(); + // getOutBound(); + }}); + break; + } + }); + + function updateLocDetlData(locNo, matnr, count) { + if (isNaN(count)) { + layer.msg("璇疯緭鍏ユ暟瀛�"); + } else { + if (count > 0) { + for (var i=0;i<locDetlData.length;i++){ + if (locDetlData[i]["locNo"] === locNo && locDetlData[i]["matnr"] === matnr){ + if (count > locDetlData[i]["anfme"]) { + layer.msg("涓嶈兘瓒呰繃鍘熸暟閲�"); + } else { + locDetlData[i]["count"] = count; + } + break; + } + } + } else { + layer.msg("鏁伴噺蹇呴』澶т簬闆�"); + } + } + tableIns.reload({data: locDetlData,done:function (res) { + limit(); + // getOutBound(); + }}); + } + + // 鑾峰彇鍑哄簱鍙� + function getOutBound(){ + $.ajax({ + url: baseUrl+"/available/take/site", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + var tpl = $("#takeSiteSelectTemplate").html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $('#staNoSelect').append(html); + form.render('select'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } +}) + +// 鎻愬彇鐗╂枡 +var locDetlLayerIdx; +function getLocDetl() { + locDetlLayerIdx = layer.open({ + type: 2, + title: '鎻愬彇鍑鸿揣鍐呭', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'locDetlQuery.html', + success: function(layero, index){ + } + }); +} + +// 娣诲姞琛ㄦ牸鏁版嵁 +function addTableData(data) { + for (var i=0;i<data.length;i++){ + let pass = false; + for (var j=0;j<locDetlData.length;j++){ + if (data[i].matnr === locDetlData[j].matnr && data[i].locNo === locDetlData[j].locNo) { + pass = true; + break; + } + } + if (pass) { + data.splice(i--, 1); + } else { + data[i]["count"] = data[i]["anfme"]; + } + + } + locDetlData.push.apply(locDetlData, data); + tableIns.reload({data: locDetlData}); + layer.close(locDetlLayerIdx); +} \ No newline at end of file diff --git a/src/main/webapp/static/js/locCheck/locCheck.js b/src/main/webapp/static/js/locCheck/locCheck.js new file mode 100644 index 0000000..0dc953c --- /dev/null +++ b/src/main/webapp/static/js/locCheck/locCheck.js @@ -0,0 +1,270 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locCheck', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/locCheck/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox', hide:true} + ,{field: 'id', align: 'center',title: '鍞竴ID' , hide:true} + ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�'} + ,{field: 'matnr', align: 'center',title: '鐗╂枡鍙�'} + ,{field: 'originAnfme', align: 'center',title: '鐩樼偣鍓嶆暟閲�'} + ,{field: 'type$', align: 'center',title: '鐘舵��'} + ,{field: 'realAnfme', align: 'center',title: '鐪熷疄鏁伴噺'} + ,{field: 'createBy', align: 'center',title: '鍒涘缓浜�' , hide:true} + ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿', hide:true} + ,{field: 'updateBy', align: 'center',title: '淇敼浜�', hide:true} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide:true} + ,{field: 'memo', align: 'center',title: '澶囨敞', hide:true} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locCheck)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(locCheck)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'locCheck': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/locCheck/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(locCheck)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/locCheck/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/locCheck/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + admin.open({ + type: 1, + area: '400px', + title: '閫夋嫨鐩樼偣鏁伴噺', + content: $('#nodeSelect').html(), + success: function (layero, dIndex) { + form.render('select'); + form.on('submit(pakin)', function (data) { + data.field.selectPerc + }) + } + }); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js index 211c380..2466f8e 100644 --- a/src/main/webapp/static/js/locDetl/locDetl.js +++ b/src/main/webapp/static/js/locDetl/locDetl.js @@ -5,7 +5,7 @@ {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true} ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true} ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false} - ,{field: 'batch', align: 'center',title: '鎵瑰彿', width: 300, sort:true} + ,{field: 'batch', align: 'center',title: '鍚堝悓鍙�', width: 300, sort:true} ,{field: 'anfme', align: 'center',title: '鏁伴噺'} ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'} ,{field: 'specs', align: 'center',title: '閰嶇疆'} diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index e277615..7214d80 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -31,6 +31,10 @@ } } }) + + + + // 娓叉煋琛ㄦ牸 var insTb = table.render({ @@ -389,6 +393,7 @@ }); } }) + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 $(layero).children('.layui-layer-content').css('overflow', 'visible'); layui.form.render('select'); diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index be85831..86f2b28 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -125,6 +125,7 @@ function pakoutPreview(ids) { let loadIndex = layer.load(2); + console.log("1111") $.ajax({ url: baseUrl + "/out/pakout/preview/auth", headers: {'token': localStorage.getItem('token')}, @@ -163,6 +164,7 @@ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'}, {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'}, {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, + //{field: 'staState', title: '鐘舵��', align: 'center'}, {type: 'checkbox', merge: ['locNo']}, ]], done: function (res) { diff --git a/src/main/webapp/static/js/saas/locDetl.js b/src/main/webapp/static/js/saas/locDetl.js new file mode 100644 index 0000000..9bd259e --- /dev/null +++ b/src/main/webapp/static/js/saas/locDetl.js @@ -0,0 +1,557 @@ +var pageCurr; +function getCol() { + var cols = [ + {field: 'locNo', align: 'center',title: '搴撲綅鍙�'}, + {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true} + ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false, hide: true} + ,{field: 'batch', align: 'center',title: '鎵瑰彿', width: 300, sort:true , hide: true} + ,{field: 'anfme', align: 'center',title: '鏁伴噺'} + ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: true} + ,{field: 'specs', align: 'center',title: '閰嶇疆' , hide: true} + ,{field: 'model', align: 'center',title: '浠g爜', hide: true} + ,{field: 'color', align: 'center',title: '棰滆壊', hide: true} + ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true} + ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} + ,{field: 'price', align: 'center',title: '鍗曚环', hide: true} + ,{field: 'sku', align: 'center',title: 'sku', hide: true} + ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true} + ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true} + ,{field: 'origin', align: 'center',title: '浜у湴', hide: true} + ,{field: 'manu', align: 'center',title: '鍘傚', hide: true} + ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true} + ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true} + ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true} + ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true} + ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true} + ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true} + ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true} + ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true} + ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true} + ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true} + ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true} + ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true} + ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true} + ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true} + ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true} + + ]; + + // cols.push.apply(cols, detlCols); + cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide: true} + ) + return cols; +} + +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locDetl', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/manLocDetl/asrsAndSaas/list', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locDetl)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(locDetl)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/locDetl/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'locDetl': exportData, + 'fields': fields + }; + var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false}); + $.ajax({ + url: baseUrl+"/locDetl/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.close(loadIndex); + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(locDetl)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#locNo,#matnr', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + case 'locNo': + var param = top.reObject(data).locNo; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '搴撲綅鍙疯鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../locMast/locMast_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/locMast/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼浜哄憳璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涘缓鑰呰鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + locNo: $('#locNo').val(), + matnr: $('#matnr').val(), + lgnum: $('#lgnum').val(), + tbnum: $('#tbnum').val(), + tbpos: $('#tbpos').val(), + zmatid: $('#zmatid').val(), + maktx: $('#maktx').val(), + werks: $('#werks').val(), + anfme: $('#anfme').val(), + altme: $('#altme').val(), + zpallet: $('#zpallet').val(), + bname: $('#bname').val(), + memo: $('#memo').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/locDetl/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = { + }; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/saas/locMove.js b/src/main/webapp/static/js/saas/locMove.js new file mode 100644 index 0000000..fb558bf --- /dev/null +++ b/src/main/webapp/static/js/saas/locMove.js @@ -0,0 +1,135 @@ +var pageCurr = 0; +var tableIns; +function getCol() { + var cols = [ + {field: 'locNo', align: 'center',title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'} + ]; + cols.push.apply(cols, detlCols); + return cols; +} + +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'tableMerge'], function() { + var table = layui.table; + var $ = layui.jquery; + var form = layui.form; + var tableMerge = layui.tableMerge; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locMatCode', + headers: {token: localStorage.getItem('token')}, + // url: baseUrl+'/locDetl/list/auth', + data:[], + page: true, + limit: 16, + limits: [16, 50, 100, 200, 500], + even: true, + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + tableMerge.render(this); + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + clearSelect(); + } + }); + +}); + +// 鎼滅储搴撲綅鐗╂枡 +function getLoc(el) { + tableIns.reload({ + url: baseUrl+'/manLocDetl/list' + , where: {loc_no: el.value} + , done:function (res) { + limit(); + clearSelect(); + // 鑾峰彇鍚屼竴鍫嗗灈鏈虹殑绌哄簱浣� + http.post(baseUrl + "/work/empty/stock", {sourceLocNo: el.value}, function (res) { + if (res.data != null) { + var tpl = $("#emptyLocStock").html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $('#targetLocNo').append(html); + layui.form.render('select'); + } + }); + } + }); +} + +// 绉诲簱鍚姩 +function locMove() { + var sourceLocNo = $("#sourceLocNo").val(); + var targetLocNo = $("#targetLocNo").val(); + if (sourceLocNo === null || sourceLocNo === ""){ + $("#sourceLocNo").css("border-color", "red"); + setTimeout(function () { + $("#sourceLocNo").css("border-color", "#b8b8b8"); + }, 1000); + layer.msg("璇疯緭鍏ユ簮搴撲綅"); + return; + } + if (targetLocNo === null || targetLocNo === "") { + $(".layui-select-title .layui-input").css("border-color", "red"); + setTimeout(function () { + $(".layui-select-title .layui-input").css("border-color", "#b8b8b8"); + }, 1000); + layer.msg("璇疯緭鍏ョ洰鏍囧簱浣�"); + return; + } + $.ajax({ + url: baseUrl + "/work/move/start", + headers: {'token': localStorage.getItem('token')}, + dataType: 'json', + data: { + sourceLocNo: sourceLocNo, + targetLocNo: targetLocNo + }, + method: 'POST', + success: function (res) { + if (res.code === 200) { + $("#sourceLocNo").val(""); + $("#targetLocNo").empty(); + layui.form.render('select'); + tableIns.reload({ + data: [], + url: '', + done:function (res) { + limit();clearSelect(); + } + }); + layer.msg(res.msg); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg); + } + } + }) +} + +function clearSelect() { + $("#targetLocNo").empty(); + layui.form.render('select'); +} diff --git a/src/main/webapp/static/js/saas/stockAdjust.js b/src/main/webapp/static/js/saas/stockAdjust.js new file mode 100644 index 0000000..cb68ae0 --- /dev/null +++ b/src/main/webapp/static/js/saas/stockAdjust.js @@ -0,0 +1,243 @@ +var initCountVal = 0; +var initAnfmeVal = "-"; +var matCodeData = []; +var currLocNo; +var matCodeLayerIdx; +function getCol() { + var cols = [ + {fixed: 'left', field: 'count', title: '瀹為檯鏁伴噺', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'} + ,{field: 'anfme', align: 'center',title: '鏁伴噺'} + ,{field: 'batch', align: 'center',title: '鎵瑰彿锛堢紪杈戯級', edit: true, style: 'font-weight:bold'} + ]; + arrRemove(detlCols, "field", "anfme"); + arrRemove(detlCols, "field", "batch"); + cols.push.apply(cols, detlCols); + cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80}) + return cols; +} + +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + tableIns = table.render({ + elem: '#chooseData', + data: [], + even: true, + limit: 500, + cellMinWidth: 50, + toolbar: '#toolbar', + cols: [getCol()], + done: function (res, curr, count) { + limit(); + } + }); + + // 椤甸潰淇敼 + table.on('edit(chooseData)', function (obj) { + let index = obj.tr.attr("data-index"); + let data = matCodeData[index]; + let modify = true; + if (obj.field === 'count'){ + let vle = Number(obj.value); + if (isNaN(vle)) { + layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2}); + modify = false; + } else { + if (vle <= 0) { + layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2}); + modify = false; + } + } + } + if (modify) { + data[obj.field] = obj.value; + } + tableIns.reload({data: matCodeData}); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(chooseData)', function (obj) { + switch(obj.event) { + case 'adjust': + if (isEmpty(currLocNo)) { + layer.msg("璇峰厛妫�绱㈠簱浣�", {icon: 2}) + inputTip($("#searchLocNo")); + return; + } + if (matCodeData.length === 0) { + layer.msg("璇峰厛娣诲姞鏄庣粏", {icon: 2}); + return; + } + for (var i=0;i<matCodeData.length;i++){ + if (isNaN(matCodeData[i].count)) { + layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2}); + return; + } + if (matCodeData[i].count < 0){ + layer.msg("鏁伴噺涓嶈兘灏忎簬闆�", {icon: 2}); + return; + } + } + layer.confirm('纭畾璋冩暣'+currLocNo+'搴撲綅鐨勬槑缁嗗悧锛�', {shadeClose: true}, function(){ + $.ajax({ + url: baseUrl+"/manLocDetl/adjust/start", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify({ + locNo: currLocNo, + list: matCodeData + }), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg(currLocNo + res.msg, {icon: 1}); + init(currLocNo) + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(chooseData)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'remove': + let index = obj.tr.attr("data-index"); + matCodeData.splice(index, 1); + tableIns.reload({data: matCodeData}); + break; + } + }); + + // 妫�绱簨浠� + form.on('submit(search)', function (data) { + let loc_no = data.field.loc_no; + if (loc_no === "") { + inputTip($("#searchLocNo")); + layer.msg("璇疯緭鍏ュ簱浣嶅彿"); + return; + } + init(loc_no); + }); + + // 閲嶇疆浜嬩欢 + form.on('submit(reset)', function (data) { + reset(); + }); + + function init(locNo) { + http.post(baseUrl + "/manLocDetl/list", {loc_no: locNo,limit: 1000}, function (res) { + matCodeData = []; + matCodeData = res.data.records; + for (var i = 0; i<matCodeData.length; i++) { + matCodeData[i]["count"] = matCodeData[i]["anfme"]; + } + locTips(true, locNo); + tableReload(); + }) + } + + function reset() { + clearFormVal($('#search-box')); + matCodeData = []; + tableReload(); + locTips(false); + } + + // 閲嶈浇琛ㄦ牸 + function tableReload() { + tableIns.reload({data: matCodeData}); + } + + // 搴撲綅鎻愮ず妗� + function locTips(retrieve, locNo) { + if (retrieve) { + http.post(baseUrl+"/node/select/"+locNo+"/auth", null, function (res) { + console.log(res); + let data = res.data; + if (data != null) { + $(".retrieve").show(); + // $("#locMsg").html(locNo + " ,搴撲綅鐘舵�侊細" + data.locSts$); + $("#locMsg").html(locNo + " "); + $('.not-retrieve').hide(); + currLocNo = locNo; + } else { + layer.msg("璇疯緭鍏ユ湁鏁堝簱浣嶅彿", {icon: 2}); + $('.not-retrieve').show(); + $("#locMsg").html(""); + $(".retrieve").hide(); + currLocNo = null; + inputTip($("#searchLocNo")); + } + }) + } else { + $('.not-retrieve').show(); + $("#locMsg").html(""); + $(".retrieve").hide(); + currLocNo = null; + } + } + + $(document).on('click','#mat-query', function () { + if (isEmpty(currLocNo)) { + layer.msg("璇峰厛妫�绱㈠簱浣�") + inputTip($("#searchLocNo")); + return; + } + let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false}); + matCodeLayerIdx = admin.open({ + type: 2, + title: false, + closeBtn: false, + maxmin: false, + area: ['90%', '85%'], + shadeClose: true, + content: 'matQuery.html', + success: function(layero, index){ + layer.close(loadIndex); + } + }); + }) + +}) + +// 鎼滅储妗嗙┖鍊兼彁绀� +function inputTip(el) { + el.css("border-color", "red"); + setTimeout(function () { + el.css("border-color", "#b8b8b8"); + }, 1000); +} + +// 娣诲姞琛ㄦ牸鏁版嵁 +function addTableData(data) { + for (let i=0;i<data.length;i++){ + for (let j=0;j<matCodeData.length;j++){ + if (data[i].matnr === matCodeData[j].matnr && data[i].batch === matCodeData[j].batch) { + data.splice(i, 1); + break; + } else { + data[i]['anfme'] = initAnfmeVal; + data[i]['count'] = initCountVal; + } + } + } + matCodeData.push.apply(matCodeData, data); + tableIns.reload({data: matCodeData}); + layer.close(matCodeLayerIdx); +} diff --git a/src/main/webapp/static/js/saasLog/saasLog.js b/src/main/webapp/static/js/saasLog/saasLog.js new file mode 100644 index 0000000..6d2833e --- /dev/null +++ b/src/main/webapp/static/js/saasLog/saasLog.js @@ -0,0 +1,251 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#saasLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/saasLog/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + // toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'id', align: 'center',title: 'id', hide:true} + ,{field: 'locNo', align: 'center',title: '搴撲綅'} + ,{field: 'type$', align: 'center',title: '鎿嶄綔绫诲瀷'} + ,{field: 'matnr', align: 'center',title: '鐗╂枡鍙�'} + ,{field: 'anfme', align: 'center',title: '鏁伴噺'} + ,{field: 'ioTime$', align: 'center',title: '鎿嶄綔鏃堕棿'} + ,{field: 'createBy', align: 'center',title: '', hide:true} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(saasLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(saasLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'saasLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/saasLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(saasLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/saasLog/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/saasLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime', + value: data!==undefined?data['ioTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/stoMan/stoQue.js b/src/main/webapp/static/js/stoMan/stoQue.js index 76e6a1b..b6fc115 100644 --- a/src/main/webapp/static/js/stoMan/stoQue.js +++ b/src/main/webapp/static/js/stoMan/stoQue.js @@ -4,21 +4,21 @@ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; - var layDate = layui.laydate; + var layDate = layui.laydate; //鏃堕棿鎺т欢 var form = layui.form; layDate.render({ elem: '.layui-laydate-range' - ,type: 'datetime' - ,range: true + ,type: 'datetime' //鏃ユ湡鏃堕棿閫夋嫨鍣� 鍙�夊勾銆佹湀銆佹棩銆佹椂銆佸垎銆佺 + ,range: true //璁剧疆涓簍rue锛岄粯璁ら噰鐢ㄢ��-鈥濆垎鍓� }); // 鏁版嵁娓叉煋 tableIns = table.render({ - elem: '#stoQue', + elem: '#stoQue', //table id=鈥渟toQue鈥� headers: {token: localStorage.getItem('token')}, url: baseUrl+'/locMast/list/auth', - page: true, + page: true, //寮�鍚垎椤� limit: 20, limits: [20, 30, 50, 100, 200, 500], even: true, @@ -110,8 +110,8 @@ case 'refreshSto': // todo:luxiaotao alert("杩樻病鍋�"); break; - case 'exportData': - layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + case 'exportData': //瀵煎嚭Excel + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ var titles=[]; var fields=[]; obj.config.cols[0].map(function (col) { @@ -129,7 +129,7 @@ 'fields': fields }; $.ajax({ - url: baseUrl+"/wrkLastno/export/auth", + url: baseUrl+"/locMast/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', diff --git a/src/main/webapp/views/ioWorks/locDetlQuery.html b/src/main/webapp/views/ioWorks/locDetlQuery.html new file mode 100644 index 0000000..dd61a33 --- /dev/null +++ b/src/main/webapp/views/ioWorks/locDetlQuery.html @@ -0,0 +1,228 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + body { + padding: 0 20px; + } + .layui-table-box { + border-right: 1px solid #9F9F9F; + border-left: 1px solid #9F9F9F; + } + + #search-box { + padding: 30px 0 20px 0; + } + #search-box .layui-inline:first-child { + margin-left: 30px; + } + #search-box .layui-inline { + margin-right: 5px; + } + + #data-search-btn { + margin-left: 10px; + display: inline-block; + } + #data-search-btn.layui-btn-container .layui-btn { + margin-right: 20px; + } + </style> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;"> + <legend>鎼滅储鏍�</legend> + <!-- 鎼滅储鏍� --> + <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="loc_no" placeholder="璐т綅" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="maktx" 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="update_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">--> +<!-- </div>--> +<!-- </div>--> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> + </div> +</fieldset> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button> + </div> +</script> + +<div class="layui-form"> + <table class="layui-hide" id="stockOut" lay-filter="stockOut"></table> +</div> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> + +</body> +<script> + + var pageCurr; + function getCol() { + var cols = [ + {type: 'checkbox'} + ,{field: 'locNo', align: 'center',title: '璐т綅'} + ]; + cols.push.apply(cols, detlCols); + cols.push({field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}) + return cols; + } + + layui.use(['table','laydate', 'form'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + // 鏁版嵁娓叉煋 + locDetlTableIns = table.render({ + elem: '#stockOut', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/manLocDetl/list', + page: true, + limit: 10, + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + // $('.layui-form-checkbox').css("pointer-events", "none"); + // $('td[data-field="0').css("cursor", "pointer") + } + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(stockOut)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + var data = checkStatus.data; + switch(obj.event) { + case 'confirm': + if (data.length === 0){ + layer.msg("璇烽�夋嫨鏁版嵁"); + return; + } + parent.addTableData(data); + break; + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(); + }); + + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + }) + + // var b = true; + // $(function(){ + // $(document.body).on('click','td[data-field="0"]',function(){ + // var locNo = $(this).next().children("div").html(); + // if (b) { + // b = false; + // $("tr td[data-field=locNo\\$] div:contains("+ locNo +")").parent().prev().children().children("div").click(); + // setTimeout(function () { + // b = true; + // }, 200) + // } + // }); + // }) + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + locDetlTableIns.reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + // $('.layui-form-checkbox').css("pointer-events", "none"); + // $('td[data-field="0').css("cursor", "pointer") + } + }); + } + + function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); + } +</script> +</html> + diff --git a/src/main/webapp/views/ioWorks/matQuery.html b/src/main/webapp/views/ioWorks/matQuery.html new file mode 100644 index 0000000..351d3d1 --- /dev/null +++ b/src/main/webapp/views/ioWorks/matQuery.html @@ -0,0 +1,194 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + body { + padding: 0 20px; + } + .layui-table-box { + border-right: 1px solid #9F9F9F; + border-left: 1px solid #9F9F9F; + } + </style> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;"> + <legend>鎼滅储鏍�</legend> + <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="matnr" placeholder="鍟嗗搧缂栫爜" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="maktx" 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="update_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> + </div> +</fieldset> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button> + </div> +</script> + +<div class="layui-form"> + <table class="layui-hide" id="matCode" lay-filter="matCode"></table> +</div> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> + +</body> +<script> + function getCol() { + var cols = [ + {type: 'checkbox', fixed: 'left'} + ]; + cols.push.apply(cols, matCols); + cols.push( + {field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}, + {field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ) + return cols; + } + var pageCurr; + layui.use(['table','laydate', 'form'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + // 鐗╂枡鏌ヨ鏁版嵁琛� + matQueryTable = table.render({ + elem: '#matCode', + headers: {token: localStorage.getItem('token')}, + url: baseUrl + '/mat/list/auth', + page: true, + limit: 7, + limits: [7, 10, 30,50,100], + even: true, + cellMinWidth: 50, + toolbar: '#toolbar', + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl + "/"; + } + } + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(matCode)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + var data = checkStatus.data; + switch(obj.event) { + case 'confirm': + if (data.length === 0){ + layer.msg("璇烽�夋嫨鏁版嵁"); + return; + } + parent.addTableData(data); + break; + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(); + }); + + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + }) + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + matQueryTable.reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + } + }); + } + + function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); + } +</script> +</html> + diff --git a/src/main/webapp/views/ioWorks/stockIn.html b/src/main/webapp/views/ioWorks/stockIn.html new file mode 100644 index 0000000..3261808 --- /dev/null +++ b/src/main/webapp/views/ioWorks/stockIn.html @@ -0,0 +1,145 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + html { + height: 100%; + padding: 10px; + background-color: #f1f1f1; + } + body { + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 3px rgba(0,0,0,.3); + } + + .function-area { + padding: 20px 50px; + } + .function-btn { + font-size: 16px; + padding: 1px 1px 1px 1px; + width: 100px; + height: 50px; + border-color: #2b425b; + border-radius: 4px; + border-width: 2px; + background: none; + border-style: solid; + transition: 0.4s; + cursor: pointer; + letter-spacing: 3px; + } + .function-btn:hover { + background-color: #2b425b; + color: #fff; + } + + .layui-layer-page .layui-layer-content { + position: relative; + overflow: visible !important; + } + + #mat-query { + /*display: none;*/ + } + + #staNoSpan { + text-align: center; + display: inline-block; + width: 100px; + font-size: 13px; + } + .layui-btn-container .layui-form-select { + display: inline-block; + width: 150px; + height: 30px; + } + .layui-btn-container .layui-form-select.layui-form-selected { + display: inline-block; + width: 150px; + } + .layui-btn-container .layui-select-title input { + font-size: 13px; + } + .layui-btn-container .layui-anim.layui-anim-upbit dd { + font-size: 13px; + } + + #btn-inbound { + margin-left: 20px; + /*display: none;*/ + } + #detail { + margin: 0; + padding: 25px 30px 0 0; + } + </style> +</head> +<body> +<!-- 鍔熻兘鍖� --> +<div class="function-area"> + <button id="mat-query" class="function-btn" onclick="getMat()">鏂板</button> +</div> + +<hr> + +<!-- 琛ㄦ牸 --> +<div style="padding-bottom: 5px; margin-bottom: 45px"> + + <!-- 澶撮儴 --> + <script type="text/html" id="toolbar"> + <div class="layui-form"> + <div class="layui-btn-container"> + <!-- 鍚姩鍑哄簱 --> + <button class="layui-btn layui-btn-lg" id="btn-inbound" lay-event="confirm" style="">纭鍏ュ簱</button> + </div> + </div> + </script> + + <!-- 琛� --> + <script type="text/html" id="operate"> + <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a> + </script> + + <table class="layui-table" id="chooseData" lay-filter="chooseData"></table> +</div> +<!--<table id="node" style="display: none"></table>--> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/ioWorks/stockIn.js" charset="utf-8"></script> + +<script type="text/template" id="putSiteSelectTemplate"> + {{#each data}} + <option value="{{this}}">{{this}}</option> + {{/each}} +</script> +<script type="text/html" id="nodeSelect"> + <form id="detail" lay-filter="detail" class="layui-form"> + <div class="layui-form-item"> + <label class="layui-form-label">涓婃灦璐т綅</label> + <div class="layui-input-block"> + <div id="nodeSel" class="ew-xmselect-tree"></div> + </div> + </div> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="pakin" lay-submit="">纭鍏ュ簱</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</body> +</html> + diff --git a/src/main/webapp/views/ioWorks/stockOut.html b/src/main/webapp/views/ioWorks/stockOut.html new file mode 100644 index 0000000..1e7aef4 --- /dev/null +++ b/src/main/webapp/views/ioWorks/stockOut.html @@ -0,0 +1,125 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + html { + height: 100%; + padding: 10px; + background-color: #f1f1f1; + } + body { + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 3px rgba(0,0,0,.3); + padding-bottom: 20px; + } + + #staNoSpan { + text-align: center; + display: inline-block; + width: 100px; + font-size: 13px; + } + .layui-btn-container .layui-form-select { + display: inline-block; + width: 150px; + height: 30px; + } + .layui-btn-container .layui-form-select.layui-form-selected { + display: inline-block; + width: 150px; + } + .layui-btn-container .layui-select-title input { + font-size: 13px; + } + .layui-btn-container .layui-anim.layui-anim-upbit dd { + font-size: 13px; + } + + #btn-outbound { + margin-left: 20px; + /*display: none;*/ + } + + /*----------------------------------*/ + .function-area { + padding: 20px 50px; + } + .function-btn { + font-size: 16px; + padding: 1px 1px 1px 1px; + width: 100px; + height: 50px; + border-color: #2b425b; + border-radius: 4px; + border-width: 2px; + background: none; + border-style: solid; + transition: 0.4s; + cursor: pointer; + letter-spacing: 3px; + } + .function-btn:hover { + background-color: #2b425b; + color: #fff; + } + + #mat-query { + /*display: none;*/ + } + </style> +</head> +<body> + +<!-- 鍔熻兘鍖� --> +<div class="function-area"> + <button id="mat-query" class="function-btn" onclick="getLocDetl()">鏂板</button> +</div> + +<hr> + +<!-- 琛ㄦ牸 --> +<div style="padding-bottom: 5px; margin-bottom: 45px"> + + <!-- 澶撮儴 --> + <script type="text/html" id="toolbar"> + <div class="layui-form"> + <div class="layui-btn-container"> + <!-- 鍚姩鍑哄簱 --> + <button class="layui-btn layui-btn-lg layui-btn-normal" id="btn-outbound" lay-event="outbound">纭鍑哄簱</button> + </div> + </div> + </script> + + <!-- 琛� --> + <script type="text/html" id="operate"> + <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a> + </script> + + <table class="layui-table" id="chooseData" lay-filter="chooseData"></table> +</div> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/ioWorks/stockOut.js" charset="utf-8"></script> + +<script type="text/template" id="takeSiteSelectTemplate"> + {{#each data}} + <option value="{{siteId}}">{{desc}}</option> + {{/each}} +</script> +</body> +</html> + diff --git a/src/main/webapp/views/locCheck/locCheck.html b/src/main/webapp/views/locCheck/locCheck.html new file mode 100644 index 0000000..0d2507d --- /dev/null +++ b/src/main/webapp/views/locCheck/locCheck.html @@ -0,0 +1,164 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> +<!-- <div class="layui-inline">--> +<!-- <label class="layui-form-label">缂栧彿:</label>--> +<!-- <div class="layui-input-inline">--> +<!-- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鐢熸垚鐩樼偣浠诲姟 + </button> +<!-- <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>--> +<!-- <i class="layui-icon"></i>閲嶇疆--> +<!-- </button>--> + </div> + </div> + </div> + <table class="layui-hide" id="locCheck" lay-filter="locCheck"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/locCheck/locCheck.js" charset="utf-8"></script> + +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">鐘舵��: </label> + <div class="layui-input-block"> + <select name="type"> + <option value="">璇烽�夋嫨鐘舵��</option> + <option value="1">鐩樼偣涓�</option> + <option value="2">鐩樼偣缁撴潫</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">搴撲綅鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="locNo" placeholder="璇疯緭鍏ュ簱浣嶅彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐗╂枡鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="matnr" placeholder="璇疯緭鍏ョ墿鏂欏彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐩樼偣鍓嶆暟閲�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="originAnfme" placeholder="璇疯緭鍏ョ洏鐐瑰墠鏁伴噺"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐪熷疄鏁伴噺: </label> + <div class="layui-input-block"> + <input class="layui-input" name="realAnfme" placeholder="璇疯緭鍏ョ湡瀹炴暟閲�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍒涘缓浜�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ュ垱寤轰汉"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍒涘缓鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼浜�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +<script type="text/html" id="nodeSelect"> + <form id=detailSelect lay-filter="detailSelect" class="layui-form"> + <div class="layui-form-item"> + <label class="layui-form-label">閫夋嫨鐩樼偣鐜�:</label> + <div class="layui-input-block"> + <select id="selectPerc" name="selectPerc" lay-filter="selectPerc"> + <option value="100" selected="">100%</option> + <option value="80">80%</option> + <option value="60">60%</option> + <option value="40">40%</option> + <option value="10">10%</option> + </select> + </div> + </div> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="pakin" lay-submit="">鐢熸垚鐩樼偣</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html index cc00531..990f1a2 100644 --- a/src/main/webapp/views/locDetl/locDetl.html +++ b/src/main/webapp/views/locDetl/locDetl.html @@ -29,6 +29,11 @@ <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off"> </div> </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> <!-- <div class="layui-inline">--> <!-- <div class="layui-input-inline">--> <!-- <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">--> diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html index d7aa305..b9dc922 100644 --- a/src/main/webapp/views/login.html +++ b/src/main/webapp/views/login.html @@ -74,6 +74,7 @@ <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off"> <span class="focus-input100"></span> <span class="symbol-input100"> + <i class="fa fa-user"></i> </span> </div> diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html index f5997c4..6f6141e 100644 --- a/src/main/webapp/views/order/order.html +++ b/src/main/webapp/views/order/order.html @@ -54,6 +54,8 @@ </select> </div> </div> + + <div class="layui-inline"> <div class="layui-input-inline"> <select name="settle"> diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html index 16654fe..1b58bee 100644 --- a/src/main/webapp/views/pakStore/locDetlQuery.html +++ b/src/main/webapp/views/pakStore/locDetlQuery.html @@ -131,6 +131,7 @@ var form = layui.form; var admin = layui.admin; var tableMerge = layui.tableMerge; + var dataSource = [] // 鏁版嵁娓叉煋 locDetlTableIns = table.render({ @@ -149,6 +150,7 @@ pageSize: 'limit' }, parseData: function (res) { + dataSource = res.data.records return { 'code': res.code, 'msg': res.msg, @@ -169,15 +171,27 @@ // 鐩戝惉澶村伐鍏锋爮浜嬩欢 table.on('toolbar(stockOut)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); var data = checkStatus.data; + var dataList = [] + for (var j = 0; j < data.length; j++) { + var locno = data[j].locNo + for(var i = 0;i < dataSource.length; i++) { + if (dataSource[i].locNo === locno) { + dataList.push(dataSource[i]) + } + } + } + console.log(dataList) + switch(obj.event) { case 'confirm': if (data.length === 0){ layer.msg("璇烽�夋嫨鏁版嵁"); return; } - parent.addTableData(data); + parent.addTableData(dataList); break; } }); diff --git a/src/main/webapp/views/report/viewWorkIn.html b/src/main/webapp/views/report/viewWorkIn.html index dca05aa..2cfbe1e 100644 --- a/src/main/webapp/views/report/viewWorkIn.html +++ b/src/main/webapp/views/report/viewWorkIn.html @@ -21,6 +21,11 @@ <div id="search-box" class="layui-form layui-card-header"> <div class="layui-inline"> <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off"> </div> </div> diff --git a/src/main/webapp/views/report/viewWorkOut.html b/src/main/webapp/views/report/viewWorkOut.html index bde3a5e..dbd4ae4 100644 --- a/src/main/webapp/views/report/viewWorkOut.html +++ b/src/main/webapp/views/report/viewWorkOut.html @@ -21,6 +21,11 @@ <div id="search-box" class="layui-form layui-card-header"> <div class="layui-inline"> <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off"> </div> </div> diff --git a/src/main/webapp/views/saas/locDetl.html b/src/main/webapp/views/saas/locDetl.html new file mode 100644 index 0000000..4b127b0 --- /dev/null +++ b/src/main/webapp/views/saas/locDetl.html @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off"> + </div> + </div> +<!-- <div class="layui-inline">--> +<!-- <div class="layui-input-inline">--> +<!-- <input class="layui-input" type="text" name="zpallet" placeholder="鎵樼洏鐮�" autocomplete="off">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off"> + </div> + </div> +<!-- <div class="layui-inline">--> +<!-- <div class="layui-input-inline">--> +<!-- <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> +<!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>--> + </div> + +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="locDetl" lay-filter="locDetl"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> +</script> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/saas/locDetl.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/saas/locMove.html b/src/main/webapp/views/saas/locMove.html new file mode 100644 index 0000000..d28fbec --- /dev/null +++ b/src/main/webapp/views/saas/locMove.html @@ -0,0 +1,130 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + html { + height: 100%; + padding: 10px; + background-color: #f1f1f1; + box-sizing: border-box; + } + body { + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 3px rgba(0,0,0,.3); + padding-bottom: 20px; + } + .function-area { + padding: 50px 80px 50px 70px; + display: inline-block; + } + .cool-auto-complete-div { + height: 40px; + border-radius: 5px; + border: 1px solid #b8b8b8; + color: #888; + box-shadow: inset 0 1px 2px #ECECEC; + -moz-box-shadow: inset 0 1px 2px #ECECEC; + -webkit-box-shadow: inset 0 1px 2px #ECECEC; + } + + .function-btn { + margin-left: 15px; + background: #E27575; + border: none; + padding: 10px 25px 10px 25px; + color: #FFF; + box-shadow: 1px 1px 5px #B6B6B6; + border-radius: 3px; + text-shadow: 1px 1px 1px #9E3F3F; + cursor: pointer; + } + .function-btn:hover { + opacity: 0.8 + } + + .layui-layer-lan .layui-layer-btn a { + background: #4476A7; + border-color: #4476A7; + color: #fff; + } + .layui-layer-lan .layui-layer-btn .layui-layer-btn1 { + background: #fff; + color: #333; + border-color: #E9E7E7; + } + .layui-layer-lan .layui-layer-btn .layui-layer-btn1:hover { + background-color: #f7f7f7; + } + + #loc-move-btn { + /*display: none;*/ + } + </style> +</head> +<body> + +<div class="function-area layui-form"> + <!-- 婧愬簱浣� --> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input id="sourceLocNo" class="layui-input" onkeyup="getLoc(this)" type="text" placeholder="婧愬簱浣�" autocomplete="off"> + </div> + </div> + <div class="layui-form-mid" style="float: none; display: inline-block; margin-left: 10px">-</div> + <div class="layui-input-inline"> + <select id="targetLocNo" name="modules" lay-verify="required" lay-search=""> + <option value="">鐩爣绌哄簱浣�</option> + </select> + </div> + <button id="loc-move-btn" class="function-btn" onclick="locMove()" style="background: #4476A7;text-shadow: inherit;height: 45px;font-size: 15px;margin-left: 20px">搴撲綅绉昏浆</button> +</div> + +<hr> + +<table class="layui-table" id="locMatCode" lay-filter="locMatCode"></table> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/saas/locMove.js" charset="utf-8"></script> + +<script type="text/template" id="emptyLocStock"> + <option value="">璇疯緭鍏ュ苟閫夋嫨</option> + {{#each data}} + <option value="{{this.uuid}}">{{this.uuid}}</option> + {{/each}} +</script> + +<div id="locMoveWindow" style="height: 100%;display: none"> + <div style="float: left;width: 35%;height: 100%"> + <div> + <span style="display: block">婧愬簱浣�</span> + <input type="text"> + </div> + </div> + <div style="float: left;width: 30%;height: 100%;position: relative;"> + <span style="position:absolute;top: 45%;left: 50%;color: #666;transform: translateX(-50%);;display: block">绉昏浆鑷�</span> + <hr style="position: absolute; top: 50%;width: 100%;border: none;height: 1px;background-color: #666"> + + </div> + <div style="float: right;width: 35%;height: 100%"> + <div> + <span style="display: block">鐩爣搴撲綅</span> + <input type="text"> + </div> + </div> +</div> +</body> +</html> diff --git a/src/main/webapp/views/saas/matQuery.html b/src/main/webapp/views/saas/matQuery.html new file mode 100644 index 0000000..351d3d1 --- /dev/null +++ b/src/main/webapp/views/saas/matQuery.html @@ -0,0 +1,194 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + body { + padding: 0 20px; + } + .layui-table-box { + border-right: 1px solid #9F9F9F; + border-left: 1px solid #9F9F9F; + } + </style> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;"> + <legend>鎼滅储鏍�</legend> + <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="matnr" placeholder="鍟嗗搧缂栫爜" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="maktx" 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="update_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> + </div> +</fieldset> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button> + </div> +</script> + +<div class="layui-form"> + <table class="layui-hide" id="matCode" lay-filter="matCode"></table> +</div> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> + +</body> +<script> + function getCol() { + var cols = [ + {type: 'checkbox', fixed: 'left'} + ]; + cols.push.apply(cols, matCols); + cols.push( + {field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}, + {field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ) + return cols; + } + var pageCurr; + layui.use(['table','laydate', 'form'], function() { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + // 鐗╂枡鏌ヨ鏁版嵁琛� + matQueryTable = table.render({ + elem: '#matCode', + headers: {token: localStorage.getItem('token')}, + url: baseUrl + '/mat/list/auth', + page: true, + limit: 7, + limits: [7, 10, 30,50,100], + even: true, + cellMinWidth: 50, + toolbar: '#toolbar', + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl + "/"; + } + } + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(matCode)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + var data = checkStatus.data; + switch(obj.event) { + case 'confirm': + if (data.length === 0){ + layer.msg("璇烽�夋嫨鏁版嵁"); + return; + } + parent.addTableData(data); + break; + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(); + }); + + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + }) + + function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + matQueryTable.reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + } + }); + } + + function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); + } +</script> +</html> + diff --git a/src/main/webapp/views/saas/stockAdjust.html b/src/main/webapp/views/saas/stockAdjust.html new file mode 100644 index 0000000..63d49fb --- /dev/null +++ b/src/main/webapp/views/saas/stockAdjust.html @@ -0,0 +1,133 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + html { + height: 100%; + padding: 10px; + background-color: #f1f1f1; + box-sizing: border-box; + } + body { + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 3px rgba(0,0,0,.3); + } + + /* search */ + .layui-card-header { + border-bottom: none; + } + #search-box { + padding: 30px 0 10px 0; + } + #search-box .layui-inline:first-child { + margin-left: 30px; + } + #search-box .layui-inline { + margin-right: 5px; + } + + #data-search-btn { + margin-left: 10px; + display: inline-block; + } + #data-search-btn.layui-btn-container .layui-btn { + margin-right: 20px; + } + + /* add */ + .function-area { + padding: 15px 0 20px 40px; + } + .function-btn { + font-size: 16px; + padding: 1px 1px 1px 1px; + width: 120px; + height: 40px; + border-color: #2b425b; + border-radius: 4px; + border-width: 1px; + background: none; + border-style: solid; + transition: 0.4s; + cursor: pointer; + } + .function-btn:hover { + background-color: #2b425b; + color: #fff; + } + + #mat-query { + /*display: none;*/ + } + #btn-adjust { + /*display: none;*/ + } + </style> +</head> +<body style="padding-bottom: 30px"> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input id="searchLocNo" class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off" style="height: 45px;border-color: #b8b8b8"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">妫�绱�</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> + <!-- 搴撲綅鎻愮ず --> + <div style="display: inline-block; font-size: 20px;font-weight: 300"> + <div class="not-retrieve" style="color: #ff0000;font-family: '榛戜綋';"> + 璇峰厛妫�绱㈠簱浣� + </div> + <div class="retrieve" style="display: none;color: #0097ff;font-family: '榛戜綋';"> + 褰撳墠妫�绱㈠簱浣�: <span id="locMsg" style=""></span> + </div> + + </div> +</div> + +<hr> + +<!-- 鍔熻兘鍖� --> +<div class="function-area"> + <button id="mat-query" class="function-btn">鏂板搴撳瓨</button> +</div> + +<!-- 澶撮儴 --> +<script type="text/html" id="toolbar"> + <button class="layui-btn layui-btn-lg" id="btn-adjust" lay-event="adjust" style="">璋冩暣搴撳瓨</button> +</script> + +<!-- 琛� --> +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a> +</script> + +<!-- 琛ㄦ牸 --> +<table class="layui-table" id="chooseData" lay-filter="chooseData"></table> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/saas/stockAdjust.js" charset="utf-8"></script> + +</body> +</html> + diff --git a/src/main/webapp/views/saasLog/saasLog.html b/src/main/webapp/views/saasLog/saasLog.html new file mode 100644 index 0000000..2211671 --- /dev/null +++ b/src/main/webapp/views/saasLog/saasLog.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">缂栧彿:</label> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="saasLog" lay-filter="saasLog"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/saasLog/saasLog.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">id: </label> + <div class="layui-input-block"> + <input class="layui-input" name="id" placeholder="璇疯緭鍏d" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">{0:鍏ュ簱,1:鍑哄簱}: </label> + <div class="layui-input-block"> + <input class="layui-input" name="type" placeholder="璇疯緭鍏0:鍏ュ簱,1:鍑哄簱}"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">: </label> + <div class="layui-input-block"> + <input class="layui-input" name="locNo" placeholder="璇疯緭鍏�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">: </label> + <div class="layui-input-block"> + <input class="layui-input" name="matnr" placeholder="璇疯緭鍏�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">: </label> + <div class="layui-input-block"> + <input class="layui-input" name="ioTime" id="ioTime$" placeholder="璇疯緭鍏�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createBy" placeholder="璇疯緭鍏�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/waitPakin/waitPakin.html b/src/main/webapp/views/waitPakin/waitPakin.html index 331f54d..5e85c45 100644 --- a/src/main/webapp/views/waitPakin/waitPakin.html +++ b/src/main/webapp/views/waitPakin/waitPakin.html @@ -21,6 +21,11 @@ </div> <div class="layui-inline"> <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off"> </div> </div> diff --git a/src/main/webapp/views/waitPakinLog/waitPakinLog.html b/src/main/webapp/views/waitPakinLog/waitPakinLog.html index 72b13f8..8667c60 100644 --- a/src/main/webapp/views/waitPakinLog/waitPakinLog.html +++ b/src/main/webapp/views/waitPakinLog/waitPakinLog.html @@ -19,6 +19,11 @@ <input class="layui-input" type="text" name="pakin_id" placeholder="鍏ュ簱閫氱煡鍙�" autocomplete="off"> </div> </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> <!-- 鏃ユ湡鑼冨洿 --> <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> diff --git a/src/main/webapp/views/wrkDetl/wrkDetl.html b/src/main/webapp/views/wrkDetl/wrkDetl.html index 75eda7a..16466c7 100644 --- a/src/main/webapp/views/wrkDetl/wrkDetl.html +++ b/src/main/webapp/views/wrkDetl/wrkDetl.html @@ -24,6 +24,11 @@ <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off"> </div> </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> <!-- 鏃ユ湡鑼冨洿 --> <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> diff --git a/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html b/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html index af3dd38..d7f9945 100644 --- a/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html +++ b/src/main/webapp/views/wrkDetlLog/wrkDetlLog.html @@ -24,6 +24,11 @@ <input class="layui-input layui-laydate-range" name="modi_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> </div> </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鍚堝悓鍙�" autocomplete="off"> + </div> + </div> <!-- 寰呮坊鍔� --> <div id="data-search-btn" class="layui-btn-container layui-form-item"> <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> diff --git a/src/main/webapp/views/wrkMast/wrkDetl.html b/src/main/webapp/views/wrkMast/wrkDetl.html index af87049..8830b51 100644 --- a/src/main/webapp/views/wrkMast/wrkDetl.html +++ b/src/main/webapp/views/wrkMast/wrkDetl.html @@ -32,6 +32,7 @@ var cols = [ {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿'} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿'} ]; cols.push.apply(cols, detlCols); return cols; -- Gitblit v1.9.1