From 9e19804493a3c4fdd894779b2b4664fe2f9ca9fe Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 28 三月 2024 16:59:47 +0800
Subject: [PATCH] #立库转平库
---
src/main/java/com/zy/asrs/service/WorkService.java | 2
src/main/webapp/views/pakStore/stockOutToP.html | 140 ++++++++++++++
src/main/webapp/static/js/pakStore/stockOutToP.js | 212 +++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 139 +++++++++++++
src/main/java/com/zy/asrs/entity/param/StockOutParam.java | 10 +
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 13 +
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 65 ++++++
src/main/java/com/zy/asrs/controller/WorkController.java | 7
8 files changed, 585 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 074d0d8..8b54cb8 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -119,6 +119,13 @@
return R.ok("鍑哄簱鍚姩鎴愬姛");
}
+ @RequestMapping("/plate/outToP/start")
+ @ManagerAuth(memo = "鍑哄簱浣滀笟")
+ public R fullStoreTakeStartToP(@RequestBody StockOutParam param) {
+ workService.startupFullTakeStoreToP(param, getUserId());
+ return R.ok("鍑哄簱鍚姩鎴愬姛");
+ }
+
@RequestMapping("/empty/plate/in/start")
@ManagerAuth(memo = "绌烘澘鍏ュ簱")
public R emptyPlateInStart(@RequestParam Integer sourceStaNo) {
diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 49a3b16..5605111 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -13,6 +13,8 @@
// 鍑虹珯鍙�
private Integer outSite;
+ private String warehouse;
+
// 鐗╂枡缂栧彿闆嗗悎
private List<LocDetl> locDetls;
@@ -40,6 +42,14 @@
this.fbillNo = fbillNo;
}
+ public String getWarehouse() {
+ return warehouse;
+ }
+
+ public void setWarehouse(String warehouse) {
+ this.warehouse = warehouse;
+ }
+
public static class LocDetl {
// 搴撲綅鍙�
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 443c68e..b7f50b9 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -19,6 +19,8 @@
*/
void startupFullTakeStore(StockOutParam param, Long userId);
+ void startupFullTakeStoreToP(StockOutParam param, Long userId);
+
/**
* 鍑哄簱浣滀笟
* @param staNo 鐩爣绔欑偣
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 1140a5e..b80fd1d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -54,6 +54,8 @@
private LocDetlService locDetlService;
@Autowired
private LocNormalService locNormalService;
+ @Autowired
+ private LocNormalLogService locNormalLogService;
@Override
@Transactional
@@ -352,6 +354,17 @@
}else {
throw new CoolException("搴撳瓨鏁版嵁鏈夎");
}
+ // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+ LocNormalLog locLog = new LocNormalLog();
+ VersionUtils.setLocNormalLog(locLog, locNormal);
+ locLog.setAnfme(waitPakin.getAnfme());
+ locLog.setIoType(2);
+ locLog.setCreateTime(new Date());
+ locLog.setCreateUser(9527L);
+ if (!locNormalLogService.insert(locLog)) {
+ String logStr = JSON.toJSONString(locLog);
+ log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+ }
}
}
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 07e58bd..62c4de5 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -221,6 +221,35 @@
@Override
@Transactional
+ public void startupFullTakeStoreToP(StockOutParam param, Long userId) {
+ // 鐩爣绔欑偣鐘舵�佹娴�
+ BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+ int agvSite = 0;
+ if (!Cools.isEmpty(staNo.getFronting()) && staNo.getFronting().equals("Y")) {
+ agvSite = staNo.getDevNo();
+ staNo = basDevpService.checkSiteStatus(201);
+ }
+ // 鑾峰彇搴撲綅鏄庣粏
+ List<LocDetlDto> locDetlDtos = new ArrayList<>();
+ for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+ if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+ LocDetl sqlParam = new LocDetl();
+ sqlParam.setLocNo(paramLocDetl.getLocNo());
+ sqlParam.setMatnr(paramLocDetl.getMatnr());
+ LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+ if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+ }
+ }
+ if (!locDetlDtos.isEmpty()) {
+ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ stockOutToP(staNo, locDetlDtos, null, userId, agvSite,param.getWarehouse());
+ } else {
+ throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+ }
+ }
+
+ @Override
+ @Transactional
public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, Integer agvSite) {
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
@@ -327,6 +356,116 @@
// 鍚屼竴鍒楃殑鍚屾椂鍑哄簱锛屽垯浼樺厛鍑烘祬搴撲綅
}
+
+ @Transactional
+ public void stockOutToP(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, Integer agvSite ,String warehouse) {
+ // 鍚堝苟鍚岀被椤�
+ Set<String> locNos = new HashSet<>();
+ locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
+ List<OutLocDto> dtos = new ArrayList<>();
+ for (String locNo : locNos) {
+ List<LocDetlDto> list = new ArrayList<>();
+ Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
+ while (iterator.hasNext()) {
+ LocDetlDto dto = iterator.next();
+ if (locNo.equals(dto.getLocDetl().getLocNo())) {
+ list.add(dto);
+ iterator.remove();
+ }
+ }
+ dtos.add(new OutLocDto(locNo, list));
+ }
+ // 鐢熸垚宸ヤ綔妗�
+ for (OutLocDto dto : dtos) {
+ // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
+ if (ioType == null) {
+ ioType = dto.isAll() ? 101 : 103;
+ }
+ // 鑾峰彇搴撲綅
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ // 鑾峰彇璺緞
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", ioType)
+ .eq("stn_no", staNo.getDevNo())
+ .eq("crn_no", locMast.getCrnNo());
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+ }
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+ wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+ wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+ wrkMast.setBarcode(locMast.getBarcode()); // 鏉$爜
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setCtnKind(agvSite); // 鍑哄簱涓嬬殑灏忚溅宸ヤ綔鍖虹珯濂�
+ wrkMast.setExitMk("N"); // 灏忚溅鏄惁鎼繍
+ wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(new Date());
+ wrkMast.setPdcType("Y"); //鐢ㄤ綔绉诲簱鏍囪
+ wrkMast.setLogErrMemo(warehouse); //鐢ㄤ綔瀛樺偍浠撳簱鏍囪
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+ // 濡傛灉涓烘崱鏂欏嚭搴撻渶瑕佸垽鏂墭鐩樼爜鏄惁涓虹┖
+ if (ioType == 103) {
+ String zpallet = detlDto.getLocDetl().getZpallet();
+ if (Cools.isEmpty(zpallet)) {
+ throw new CoolException("鎷f枡鍑哄簱蹇呴』鍚湁鎵樼洏鐮�");
+ }
+ }
+ // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣�
+ if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
+ continue;
+ }
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
+ wrkDetl.setAnfme(anfme); // 鏁伴噺
+ VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(new Date());
+ wrkDetl.setModiUser(userId);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
+ locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+ // todo:luxiaotao
+ // 鍚屼竴鍒楃殑鍚屾椂鍑哄簱锛屽垯浼樺厛鍑烘祬搴撲綅
+ }
+
@Override
@Transactional
public String emptyPlateIn(Integer devpNo, Long userId) {
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 4a04fc8..55d3402 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -1,14 +1,14 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.VersionUtils;
import com.zy.common.service.erp.ErpService;
import com.zy.common.service.erp.entity.OutStockBillEntry;
import lombok.extern.slf4j.Slf4j;
@@ -20,6 +20,8 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
/**
@@ -50,6 +52,10 @@
private JdbcTemplate jdbcTemplate;
@Autowired
private OutStockDanService outStockDanService;
+ @Autowired
+ private LocNormalService locNormalService;
+ @Autowired
+ private LocNormalLogService locNormalLogService;
@Transactional
public ReturnT<Exception> start(WrkMast wrkMast) {
@@ -99,6 +105,59 @@
}
}
}
+ if (wrkMast.getPdcType().equals("Y")){
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (Cools.isEmpty(wrkDetls)){
+ log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鏈煡璇㈠埌宸ヤ綔鏄庣粏");
+ }else {
+ for (WrkDetl wrkDetl : wrkDetls) {
+ EntityWrapper<LocNormal> locNormalEntityWrapper = new EntityWrapper<>();
+ locNormalEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+ locNormalEntityWrapper.eq("mnemonic",wrkDetl.getMnemonic());
+ locNormalEntityWrapper.eq("state","1");
+ locNormalEntityWrapper.eq("warehouse",wrkMast.getLogErrMemo());
+ LocNormal locNormal = locNormalService.selectOne(locNormalEntityWrapper);
+ if (Cools.isEmpty(locNormal)){
+ Date now = new Date();
+ LocNormal locNormal1 = new LocNormal();
+ locNormal1.setMatnr(wrkDetl.getMatnr());
+ locNormal1.setMaktx(wrkDetl.getMaktx());
+ locNormal1.setLgnum(wrkDetl.getLgnum());
+ locNormal1.setType(wrkDetl.getType());
+ locNormal1.setMnemonic(wrkDetl.getMnemonic());
+ locNormal1.setSupplier(wrkDetl.getSupplier());
+ locNormal1.setWarehouse(wrkMast.getLogErrMemo());
+ locNormal1.setAnfme(BigDecimal.valueOf(wrkDetl.getAnfme()));
+ locNormal1.setModiTime(now);
+ locNormal1.setModiUser(9527L);
+ locNormal1.setAppeUser(9527L);
+ locNormal1.setAppeTime(now);
+ locNormal1.setState("1");
+ boolean insert = locNormalService.insert(locNormal1);
+ if (!insert){
+ log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鎻掑叆骞冲簱鐗╂枡澶辫触");
+ }
+ // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+ LocNormalLog locLog = new LocNormalLog();
+ VersionUtils.setLocNormalLog(locLog, locNormal1);
+ locLog.setAnfme(locNormal1.getAnfme().doubleValue());
+ locLog.setIoType(1);
+ locLog.setCreateTime(new Date());
+ locLog.setCreateUser(9527L);
+ if (!locNormalLogService.insert(locLog)) {
+ String logStr = JSON.toJSONString(locLog);
+ log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+ }
+ }else {
+ locNormal.setAnfme(locNormal.getAnfme().add(BigDecimal.valueOf(wrkDetl.getAnfme())));
+ boolean update = locNormalService.update(locNormal, locNormalEntityWrapper);
+ if (!update){
+ log.error("鍑哄簱锛堢Щ搴擄級浣滀笟鏃讹紝鏇存柊骞冲簱鐗╂枡澶辫触");
+ }
+ }
+ }
+ }
+ }
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
diff --git a/src/main/webapp/static/js/pakStore/stockOutToP.js b/src/main/webapp/static/js/pakStore/stockOutToP.js
new file mode 100644
index 0000000..ffa28df
--- /dev/null
+++ b/src/main/webapp/static/js/pakStore/stockOutToP.js
@@ -0,0 +1,212 @@
+
+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: '鏁伴噺', edit: 'text', style: 'color: blue;font-weight: bold'}
+ ,{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();
+ getOutBound2()
+ }
+ });
+
+ // 椤甸潰淇敼
+ 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 staNo = $("#staNoSelect").val();
+ var warehouse = $("#warehouseSelect").val()
+ if (staNo === "" || staNo === null){
+ layer.msg("璇烽�夋嫨鍑哄簱鍙�");
+ return;
+ }
+ if (warehouse === "" || warehouse === null){
+ layer.msg("璇烽�夋嫨搴撳尯");
+ return;
+ }
+ var locDetls = [];
+ data.forEach(function(elem) {
+ locDetls.push({locNo: elem.locNo, matnr: elem.matnr, count: elem.count});
+ });
+ let param = {
+ outSite: staNo,
+ warehouse:warehouse,
+ locDetls: locDetls
+ }
+ $.ajax({
+ url: baseUrl+"/plate/outToP/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ 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);
+ } 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]["anfme"] = count;
+ 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)
+ }
+ }
+ })
+ }
+
+ function getOutBound2(){
+ $.ajax({
+ url: baseUrl + "/locArea/queryAll/auth?areaType=",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ var html = "";
+ if (res.data && res.data.length > 0) {
+ html += res.data.map(function (item) {
+ return "<Option value=" + item.uuid + ">" + item.name + "</Option>";
+ });
+ }
+ $('#warehouseSelect').append(html);
+ layui.form.render('select');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } 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/views/pakStore/stockOutToP.html b/src/main/webapp/views/pakStore/stockOutToP.html
new file mode 100644
index 0000000..3f18552
--- /dev/null
+++ b/src/main/webapp/views/pakStore/stockOutToP.html
@@ -0,0 +1,140 @@
+<!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">
+ <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;
+ }
+ #warehouseSpan {
+ 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: 60px;
+ 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">
+ <!-- 1.閫夋嫨鍑哄簱鍙� -->
+ <span id="staNoSpan">鍑哄簱鍙o細</span>
+ <select id="staNoSelect" lay-verify="required">
+ <option value="">璇烽�夋嫨绔欑偣</option>
+ </select>
+
+ <span id="warehouseSpan">绉诲簱搴撳尯锛�</span>
+ <select id="warehouseSelect" lay-verify="required">
+ <option value="">璇烽�夋嫨搴撳尯</option>
+ </select>
+ <!-- 2.鍚姩鍑哄簱 -->
+ <button class="layui-btn layui-btn-lg" 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/pakStore/stockOutToP.js" charset="utf-8"></script>
+
+<script type="text/template" id="takeSiteSelectTemplate">
+ {{#each data}}
+ <option value="{{siteId}}">{{desc}}</option>
+ {{/each}}
+</script>
+</body>
+</html>
+
--
Gitblit v1.9.1