From ed72baa5f60f2d86cc58799ce96c658321a54d79 Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 30 四月 2021 13:53:54 +0800
Subject: [PATCH] 1.erp立库出库对接 2.erp平仓出库对接
---
src/main/webapp/views/pakStore/outStockNormalDetail.html | 123 +++++++++++++++
src/main/java/com/zy/asrs/entity/param/LocNormalStockOutParam.java | 15 +
src/main/java/com/zy/asrs/service/OutStockService.java | 4
src/main/java/com/zy/common/service/erp/ErpService.java | 38 ++++
src/main/java/com/zy/common/service/erp/task/ErpScheduler.java | 2
src/main/java/com/zy/asrs/controller/LocDetlController.java | 4
src/main/resources/mapper/LocDetlMapper.xml | 4
src/main/resources/mapper/LocNormalMapper.xml | 6
src/main/java/com/zy/asrs/mapper/OutStockMapper.java | 2
src/main/webapp/views/pakStore/locDetlQuery.html | 2
src/main/webapp/static/js/pakStore/outStock.js | 30 +++
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 22 ++
src/main/java/com/zy/asrs/service/LocNormalService.java | 4
src/main/webapp/views/pakStore/outStock.html | 6
src/main/java/com/zy/common/service/erp/entity/OutStockBillEntry.java | 3
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java | 82 ++++++++++
src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java | 10 +
src/main/java/com/zy/asrs/mapper/LocNormalMapper.java | 2
src/main/java/com/zy/asrs/entity/LocNormal.java | 3
src/main/java/com/zy/asrs/controller/OutStockController.java | 48 +++++
src/main/webapp/static/js/common.js | 2
src/main/resources/mapper/OutStockMapper.xml | 25 ++-
22 files changed, 411 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index a06bdc5..526274e 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -73,8 +73,8 @@
param.remove("supplier");
}
/* 鐢熶骇鍗曞彿涓虹┖锛屽垹闄ょ敓浜у崟鍙穡arehouse */
- if (Cools.isEmpty(param.get("warehouse"))) {
- param.remove("warehouse");
+ if (Cools.isEmpty(param.get("mnemonic"))) {
+ param.remove("mnemonic");
}
return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class)));
}
diff --git a/src/main/java/com/zy/asrs/controller/OutStockController.java b/src/main/java/com/zy/asrs/controller/OutStockController.java
index 7d982c9..362dcf0 100644
--- a/src/main/java/com/zy/asrs/controller/OutStockController.java
+++ b/src/main/java/com/zy/asrs/controller/OutStockController.java
@@ -5,20 +5,27 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocNormal;
+import com.zy.asrs.entity.param.LocNormalStockOutParam;
import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.service.LocNormalService;
import com.zy.asrs.service.OutStockService;
import com.zy.asrs.service.WorkService;
+import com.zy.common.service.erp.ErpService;
import com.zy.common.service.erp.entity.OutStockBillEntry;
import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
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;
+import java.util.Date;
import java.util.List;
import java.util.Map;
+@Slf4j
@RestController
public class OutStockController extends BaseController {
@@ -26,6 +33,10 @@
private OutStockService outStockService;
@Autowired
private WorkService workService;
+ @Autowired
+ private LocNormalService locNormalService;
+ @Autowired
+ private ErpService erpService;
/**
*
@@ -43,7 +54,7 @@
}
/**
- * 妫�绱㈢鍚堥�氱煡鍗曠殑搴撳瓨鐗╂枡
+ * 妫�绱㈢鍚堥�氱煡鍗曠殑绔嬪簱搴撳瓨鐗╂枡
* @param fbillNo
* @return
*/
@@ -60,4 +71,39 @@
outStockService.startupFullTakeStore(param, getUserId());
return R.ok("鍑哄簱鍚姩鎴愬姛");
}
+
+ /**
+ * 妫�绱㈢鍚堥�氱煡鍗曠殑骞充粨搴撳瓨鐗╂枡
+ * @param fbillNo
+ * @return
+ */
+ @RequestMapping(value = "/outStock/query/locNormalList")
+ @ManagerAuth
+ public R queryMatWithLocNormal(String fbillNo) {
+ List<LocNormal> list = locNormalService.queryLocNorlMatnr(fbillNo);
+ return R.ok(list);
+ }
+
+
+ /**
+ * 骞充粨瀵规帴erp鍑哄簱
+ * @param
+ * @return
+ */
+ @RequestMapping(value = "/outStock/locNormal")
+ @ManagerAuth
+ public R outStockLocNormal(@RequestBody LocNormalStockOutParam param) {
+ Long modiUser = getUserId();
+ Date modiTime = new Date();
+ for (LocNormal locNormals:param.getList()) {
+ // erp涓棿琛ㄦ洿鏂版暟鎹�
+ Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+ if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) {
+ log.info("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", locNormals.getMatnr());
+ }
+ // 鎶婂搴旂墿鏂欏钩浠撳簱瀛樺嚭搴�
+ locNormalService.outLocNormal(locNormals.getMatnr(), modiUser, modiTime, locNormals.getId());
+ }
+ return R.ok("骞充粨鍑哄簱鎴愬姛");
+ }
}
diff --git a/src/main/java/com/zy/asrs/entity/LocNormal.java b/src/main/java/com/zy/asrs/entity/LocNormal.java
index 453c3a6..bbd8357 100644
--- a/src/main/java/com/zy/asrs/entity/LocNormal.java
+++ b/src/main/java/com/zy/asrs/entity/LocNormal.java
@@ -48,6 +48,9 @@
@ApiModelProperty(value= "浠撳簱")
private String warehouse;
+ @TableField(exist = false)
+ private String warehouseName;
+
@ApiModelProperty(value= "鍝佺墝")
private String brand;
diff --git a/src/main/java/com/zy/asrs/entity/param/LocNormalStockOutParam.java b/src/main/java/com/zy/asrs/entity/param/LocNormalStockOutParam.java
new file mode 100644
index 0000000..7a1b998
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/LocNormalStockOutParam.java
@@ -0,0 +1,15 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.LocNormal;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class LocNormalStockOutParam {
+ // 鍗曟嵁缂栧彿
+ private String supplier;
+ // 骞充粨鐗╂枡娓呭崟
+ List<LocNormal> list = new ArrayList<>();
+}
diff --git a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
index b88ca82..cf3ea67 100644
--- a/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocNormalMapper.java
@@ -37,4 +37,6 @@
public List<LocNormal> pdaLocNormalWarehouseQuery(@Param("warehouse") String warehouse, @Param("matnr") String matnr);
public void pdaLocNormalMove(List<LocNormal> list);
+
+ public List<LocNormal> queryLocNorlMatnr(String matnr);
}
diff --git a/src/main/java/com/zy/asrs/mapper/OutStockMapper.java b/src/main/java/com/zy/asrs/mapper/OutStockMapper.java
index 60d596d..ee6d155 100644
--- a/src/main/java/com/zy/asrs/mapper/OutStockMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OutStockMapper.java
@@ -19,4 +19,6 @@
List<LocDetl> queryMatWithLoc(String matnr);
List<OutStockBillEntry> queryMatnrWithBillNo(String fbillNo);
+
+ Integer queryOutStockFInterID(String supplier);
}
diff --git a/src/main/java/com/zy/asrs/service/LocNormalService.java b/src/main/java/com/zy/asrs/service/LocNormalService.java
index 16a5b0b..555c7f0 100644
--- a/src/main/java/com/zy/asrs/service/LocNormalService.java
+++ b/src/main/java/com/zy/asrs/service/LocNormalService.java
@@ -28,4 +28,8 @@
public List<LocNormal> pdaLocNormalWarehouseQuery(String warehouse, String matnr);
public void pdaLocNormalMove(List<LocNormal> list);
+
+ public List<LocNormal> queryLocNorlMatnr(String fbillNo);
+
+
}
diff --git a/src/main/java/com/zy/asrs/service/OutStockService.java b/src/main/java/com/zy/asrs/service/OutStockService.java
index 4876502..40fa84d 100644
--- a/src/main/java/com/zy/asrs/service/OutStockService.java
+++ b/src/main/java/com/zy/asrs/service/OutStockService.java
@@ -13,7 +13,9 @@
public interface OutStockService extends IService<OutStockBillEntry> {
Page<OutStockBillEntry> queryOutStock(Page<OutStockBillEntry> page);
- List<LocDetl> queryMatWithLoc(String matnr);
+ List<LocDetl> queryMatWithLoc(String fbillNo);
+
+ Integer queryOutStockFInterID(String supplier);
/**
* 鍑哄簱浣滀笟
diff --git a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
index a9c011f..1d9ec03 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -3,21 +3,31 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
import com.zy.asrs.entity.LocNormal;
import com.zy.asrs.mapper.LocNormalMapper;
+import com.zy.asrs.mapper.OutStockMapper;
import com.zy.asrs.service.LocNormalService;
import com.zy.common.service.erp.ErpSqlServer;
+import com.zy.common.service.erp.entity.CPICMO;
+import com.zy.common.service.erp.entity.OutStockBillEntry;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.text.MessageFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+@Slf4j
@Service("locNormalService")
public class LocNormalServiceImpl extends ServiceImpl<LocNormalMapper, LocNormal> implements LocNormalService {
@Autowired
ErpSqlServer erpSqlServer;
+ @Autowired
+ OutStockMapper outStockMapper;
@Override
public List<LocNormal> getLocNormalData() {
@@ -44,11 +54,44 @@
// 骞充粨鍏ュ簱鍚庢洿鏂颁腑闂磋〃鏁版嵁锛孎flag_finish鏀逛负1锛岃〃绀哄钩浠撳叆搴撴垚鍔�
if (list.size() > 0) {
for (Integer i = 0; i < list.size(); i++) {
- String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = '" + list.get(i).getSupplier() + "' and Fnumber = '" + list.get(i).getMatnr() +"'";
- erpSqlServer.update(sql);
+ if (!Cools.isEmpty(list.get(i).getSupplier())) { // 瀛樺湪鍏ュ簱鍗曞彿鐨勬墠杩涜erp鏇存柊
+ String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
+ sql = MessageFormat.format(sql, list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getSupplier());
+ if (erpSqlServer.update(sql) > 0) {
+ sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
+ sql = MessageFormat.format(sql, list.get(i).getMatnr(), list.get(i).getSupplier());
+ List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
+ CPICMO cpicmo = select.get(0);
+ boolean complete = false;
+ if (cpicmo.getFQty() > 0) {
+ if (cpicmo.getFAuxCommitQty() >= cpicmo.getFQty()) {
+ complete = true;
+ }
+ } else {
+ if (cpicmo.getFAuxCommitQty() >= cpicmo.getFAuxQty()) {
+ complete = true;
+ }
+ }
+ if (complete) {
+ if (!completeCPakIn(list.get(i).getSupplier(), list.get(i).getMatnr())) {
+ log.error("{}骞充粨鍏ュ簱鍗曟爣璁板畬鎴愬け璐�", list.get(i).getSupplier());
+ }
+ }
+ }
+ }
}
}
+ // 骞充粨鍏ュ簱閫昏緫
baseMapper.locNormalIn(list);
+ }
+
+ /**
+ * 鎴愬搧鍏ュ簱鍗曟爣璁板畬鎴�
+ */
+ private boolean completeCPakIn(String FBillNo, String Fnumber){
+ String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''";
+ sql = MessageFormat.format(sql, FBillNo, Fnumber);
+ return erpSqlServer.update(sql) > 0;
}
@Override
@@ -83,4 +126,39 @@
public void pdaLocNormalMove(List<LocNormal> list) {
baseMapper.pdaLocNormalMove(list);
}
+
+ @Override
+ public List<LocNormal> queryLocNorlMatnr(String fbillNo) {
+ List<OutStockBillEntry> matList = outStockMapper.queryMatnrWithBillNo(fbillNo);
+ List<LocNormal> locNormal = new ArrayList<>();
+ List<LocNormal> locNormalResult = new ArrayList<>();
+ for (Integer i = 0; i < matList.size(); i++) {
+ locNormal = baseMapper.queryLocNorlMatnr(matList.get(i).getFnumber()) ;
+ if (locNormal.size() > 0) {
+ for (LocNormal e:locNormal) {
+ LocNormal obj = new LocNormal();
+ obj.setMatnr(e.getMatnr());
+ obj.setMaktx(e.getMaktx());
+ obj.setLgnum(e.getLgnum());
+ obj.setType(e.getType());
+ obj.setMnemonic(e.getMnemonic());
+ obj.setSupplier(e.getSupplier());
+ obj.setWarehouse(e.getWarehouse());
+ obj.setBrand(e.getBrand());
+ obj.setAnfme(e.getAnfme());
+ obj.setBname(e.getBname());
+ obj.setMemo(e.getMemo());
+ obj.setModiUser(e.getModiUser());
+ obj.setModiTime(e.getModiTime());
+ obj.setAppeUser(e.getAppeUser());
+ obj.setAppeTime(e.getAppeTime());
+ obj.setState(e.getState());
+ obj.setWarehouseName(e.getWarehouseName());
+ obj.setId(e.getId());
+ locNormalResult.add(obj);
+ }
+ }
+ }
+ return locNormalResult;
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
index 8393028..8872e37 100644
--- a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
@@ -41,6 +41,8 @@
private CommonService commonService;
@Autowired
private WrkDetlService wrkDetlService;
+ @Autowired
+ private LocNormalService locNormalService;
@Override
public Page<OutStockBillEntry> queryOutStock(Page<OutStockBillEntry> page) {
@@ -73,6 +75,11 @@
}
}
return locList;
+ }
+
+ @Override
+ public Integer queryOutStockFInterID(String supplier) {
+ return baseMapper.queryOutStockFInterID(supplier);
}
@Override
@@ -174,7 +181,8 @@
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(new Date());
wrkDetl.setModiUser(userId);
- wrkDetl.setWarehouse(fbillNo);
+ wrkDetl.setSupplier(fbillNo);
+ wrkDetl.setMemo(detlDto.getLocDetl().getMemo());
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
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 0282b28..8c7ff75 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -10,6 +10,7 @@
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.service.erp.ErpService;
+import com.zy.common.service.erp.entity.OutStockBillEntry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +41,8 @@
private WaitPakinLogService waitPakinLogService;
@Autowired
private ErpService erpService;
+ @Autowired
+ private OutStockService outStockService;
@GetMapping("/test1")
public String test1(String barcode){
@@ -84,6 +87,25 @@
waitPakinService.delete(wrapper);
}
+ // erp鍏宠仈鍑哄簱璁㈠崟澶勭悊
+ if (wrkMast.getIoType() == 101) {
+ EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
+ // 鑾峰彇宸ヤ綔妗e唴鐗╂枡娓呭崟
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(wrapper.eq("wrk_no", wrkMast.getWrkNo()).and().isNotNull("supplier"));
+ for (WrkDetl wrkDetl: wrkDetls) {
+ if (!Cools.isEmpty(wrkDetl.getMemo())) {
+ if (wrkDetl.getMemo().equals("鍘熸潗鏂�")) {
+ // 寰呭疄鐜�
+ } else if (wrkDetl.getMemo().equals("鎴愬搧")) {
+ Integer FInterI = outStockService.queryOutStockFInterID(wrkDetl.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+ if (!erpService.incrementCPakOut(FInterI, wrkDetl.getMatnr(), wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
+ exceptionHandle("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", wrkDetl.getMatnr());
+ }
+ }
+ }
+ }
+ }
+
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
diff --git a/src/main/java/com/zy/common/service/erp/ErpService.java b/src/main/java/com/zy/common/service/erp/ErpService.java
index c55382d..c768af8 100644
--- a/src/main/java/com/zy/common/service/erp/ErpService.java
+++ b/src/main/java/com/zy/common/service/erp/ErpService.java
@@ -12,6 +12,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -293,6 +294,43 @@
return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBillEntry", OutStockBillEntry.class);
}
+ /* 鎴愬搧澧為噺鍑哄簱 */
+ public boolean incrementCPakOut(Integer FInterID, String Fnumber, Double increment, String FBillNo) {
+ String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#}";
+ sql = MessageFormat.format(sql, increment, Fnumber, FInterID);
+ if (erpSqlServer.update(sql) > 0) {
+ sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}";
+ sql = MessageFormat.format(sql, Fnumber, FInterID);
+ List<OutStockBillEntry> select = erpSqlServer.select(sql, OutStockBillEntry.class);
+ OutStockBillEntry outStockBillEntry = select.get(0);
+ boolean complete = false;
+ if (outStockBillEntry.getFQty().compareTo(BigDecimal.ZERO) == 1) {
+ if (outStockBillEntry.getFAuxCommitQty().compareTo(outStockBillEntry.getFQty()) > -1) {
+ complete = true;
+ }
+ } else {
+ if (outStockBillEntry.getFAuxCommitQty().compareTo(outStockBillEntry.getFAuxQty()) > -1) {
+ complete = true;
+ }
+ }
+ if (complete) {
+ if (!completeCPakOut(FBillNo)) {
+ log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /* 鎴愬搧鍑哄簱鍗曟爣璁板畬鎴� */
+ private boolean completeCPakOut(String FBillNo){
+ String sql = "update OutStockbill set Fflag_finish = 1 where FBillNo = ''{0}''";
+ sql = MessageFormat.format(sql, FBillNo);
+ return erpSqlServer.update(sql) > 0;
+ }
+
diff --git a/src/main/java/com/zy/common/service/erp/entity/OutStockBillEntry.java b/src/main/java/com/zy/common/service/erp/entity/OutStockBillEntry.java
index 0d58e51..9e1ceaf 100644
--- a/src/main/java/com/zy/common/service/erp/entity/OutStockBillEntry.java
+++ b/src/main/java/com/zy/common/service/erp/entity/OutStockBillEntry.java
@@ -23,6 +23,9 @@
/*鍦板潃-OutStockBill琛ㄦ暟鎹�*/
@TableField(exist = false)
private String FAdd;
+ /* 瀹屾垚鏍囧織(Fflag_finish)-OutStockBill琛ㄦ暟鎹� */
+ @TableField(exist = false)
+ private Integer FflagFinish;
@TableField("FBrNo")
private String FBrNo;
/*閫氱煡鍗曞唴鐮�*/
diff --git a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
index c103a4e..2d3a018 100644
--- a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
+++ b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
@@ -203,6 +203,8 @@
if (!outStockMainService.insert(result.get(i))) {
log.info("鍑哄簱閫氱煡涓昏〃OutStockBill鍚屾澶辫触");
};
+ } else {
+
}
}
}
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index dec2413..4bdb76e 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -53,8 +53,8 @@
<if test="supplier!=null and supplier!=null">
and a.supplier like '%' + #{supplier} + '%'
</if>
- <if test="warehouse!=null and warehouse!=null">
- and a.warehouse like '%' + #{warehouse} + '%'
+ <if test="mnemonic!=null and mnemonic!=null">
+ and a.mnemonic like '%' + #{mnemonic} + '%'
</if>
</sql>
diff --git a/src/main/resources/mapper/LocNormalMapper.xml b/src/main/resources/mapper/LocNormalMapper.xml
index 83fc826..ad6e775 100644
--- a/src/main/resources/mapper/LocNormalMapper.xml
+++ b/src/main/resources/mapper/LocNormalMapper.xml
@@ -11,6 +11,7 @@
<result column="mnemonic" property="mnemonic"/>
<result column="supplier" property="supplier"/>
<result column="warehouse" property="warehouse"/>
+ <result column="warehouseName" property="warehouseName"/>
<result column="brand" property="brand"/>
<result column="anfme" property="anfme"/>
<result column="bname" property="bname"/>
@@ -116,4 +117,9 @@
</foreach>
END;
</update>
+
+ <select id="queryLocNorlMatnr" resultMap="BaseResultMap">
+ select a.*,b.name as warehouseName from asr_loc_normal a left join asr_loc_area b on a.warehouse = b.uuid
+ where matnr = #{matnr} and state = '1'
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/OutStockMapper.xml b/src/main/resources/mapper/OutStockMapper.xml
index 39dc53d..0a706d7 100644
--- a/src/main/resources/mapper/OutStockMapper.xml
+++ b/src/main/resources/mapper/OutStockMapper.xml
@@ -17,7 +17,9 @@
<result column="FSourceBillNo" property="FSourceBillNo"/>
<result column="FBillNo" property="FBillNo"/>
<result column="FAdd" property="FAdd"/>
- <result column="workRecord" property="workRecord"/>
+ <result column="Fname" property="Fname" />
+ <result column="Fmodel" property="Fmodel" />
+ <result column="Fflag_finish" property="FflagFinish" />
</resultMap>
<!-- asr_loc_detl鏄犲皠缁撴灉 -->
@@ -43,6 +45,8 @@
<result column="mat_status" property="matStatus" />
</resultMap>
+
+
<sql id="stockOutCondition">
<if test="FBillNo!=null and FBillNo!='' ">
and b.FBillNo like '%' + #{FBillNo} + '%'
@@ -54,14 +58,16 @@
(
select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
- b.FAdd,
- ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
+ b.FAdd,b.Fflag_finish, a.Fname, a.Fmodel
from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
where 1=1
- <if test="FBillNo!=null and FBillNo!='' ">
+ <if test="FSourceBillNo!=null and FSourceBillNo!='' ">
+ and a.FSourceBillNo = #{FSourceBillNo}
+ </if>
+ <if test="FBillNo != null and FBillNo != ''">
and b.FBillNo = #{FBillNo}
</if>
- ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) and workRecord = 0
+ ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
</select>
<select id="queryOutStockCount" parameterType="java.util.Map" resultType="java.lang.Integer">
@@ -75,10 +81,9 @@
<select id="queryMatnrWithBillNo" resultMap="OutStockResultMap">
select * from (select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
- b.FAdd,
- ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
+ b.FAdd
from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
- where b.FBillNo = #{FBillNo}) t where t.workRecord = 0
+ where b.FBillNo = #{FBillNo}) t where 1 = 1
</select>
<select id="queryMatWithLoc" resultMap="BaseResultMap">
@@ -106,4 +111,8 @@
end
desc
</select>
+
+ <select id="queryOutStockFInterID" resultType="integer">
+ select FInterID from OutStockBill where FBillNo = #{supplier}
+ </select>
</mapper>
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 2550e13..3c6cdd3 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -236,5 +236,5 @@
,{field: 'supplier', align: 'center',title: '閫氱煡鍗曞彿'}
// ,{field: 'warehouse', align: 'center',title: '搴撳尯'}
,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
- ,{field: 'altme', align: 'center',title: '鍗曚綅'}
+ ,{field: 'altme', align: 'center',title: '鍗曚綅', hide: true}
]
diff --git a/src/main/webapp/static/js/pakStore/outStock.js b/src/main/webapp/static/js/pakStore/outStock.js
index 50fc770..2e70dac 100644
--- a/src/main/webapp/static/js/pakStore/outStock.js
+++ b/src/main/webapp/static/js/pakStore/outStock.js
@@ -7,16 +7,19 @@
var cols = [];
cols.push(
{field: 'fbillNo', merge: true, align: 'center', title: '鍗曟嵁缂栧彿'}
+ , {field: 'fsourceBillNo', align: 'center', title: '璁㈠崟鍗曞彿' }
, {field: 'fnumber', align: 'center', title: '鐗╂枡缂栧彿'}
+ , {field: 'fname', align: 'center', title: '鐗╂枡鍚嶇О'}
+ , {field: 'fmodel', align: 'center', title: '瑙勬牸'}
, {field: 'fentryID', align: 'center', title: '鍒嗗綍鍙�'}
- , {field: 'forderInterID', align: 'center', title: '閿�鍞鍗曞崟鍙�'}
+ , {field: 'forderInterID', align: 'center', title: '鍗曟嵁缂栧彿', hide: true}
, {field: 'fauxQty', align: 'center', title: '鏁伴噺'}
, {field: 'fcommitQty', align: 'center', title: '鍙戣揣鏁伴噺'}
, {field: 'fauxPrice', align: 'center', title: '鍗曚环'}
- , {field: 'fdate', align: 'center', title: '鏃ユ湡'}
- , {field: 'fnote', align: 'center', title: '澶囨敞'}
- , {field: 'fadd', align: 'center', title: '鍦板潃'}
- , {merge: ['fbillNo'], title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 80}
+ , {field: 'fdate', align: 'center', title: '鏃ユ湡', hide: true}
+ , {field: 'fnote', align: 'center', title: '澶囨敞', hide: true}
+ , {field: 'fadd', align: 'center', title: '鍦板潃', hide: true}
+ , {merge: ['fbillNo'], title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 140}
);
return cols;
}
@@ -96,7 +99,7 @@
outStockDetail = layer.open(
{
type: 2,
- title: '閫夋嫨鍑哄簱-鍗曟嵁缂栧彿[' + orderData.fbillNo + ']',
+ title: '绔嬪簱鍑哄簱-鍗曟嵁缂栧彿[' + orderData.fbillNo + ']',
maxmin: true,
area: [top.detailWidth, top.detailHeight],
shadeClose: false,
@@ -107,6 +110,21 @@
}
);
}
+ if (layEvent == 'btnNormalOut') {
+ outStockDetail = layer.open(
+ {
+ type: 2,
+ title: '骞充粨鍑哄簱-鍗曟嵁缂栧彿[' + orderData.fbillNo + ']',
+ maxmin: true,
+ area: [top.detailWidth, top.detailHeight],
+ shadeClose: false,
+ content: 'outStockNormalDetail.html',
+ success: function (layero, index) {
+
+ }
+ }
+ );
+ }
});
});
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
index db7949d..cb0979e 100644
--- a/src/main/webapp/views/pakStore/locDetlQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -83,7 +83,7 @@
</div>
<div class="layui-inline">
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="warehouse" placeholder="鐢熶骇鍗曞彿" autocomplete="off">
+ <input class="layui-input" type="text" name="mnemonic" placeholder="鐢熶骇鍗曞彿" autocomplete="off">
</div>
</div>
<!-- 寰呮坊鍔� -->
diff --git a/src/main/webapp/views/pakStore/outStock.html b/src/main/webapp/views/pakStore/outStock.html
index c58e3df..849e2ee 100644
--- a/src/main/webapp/views/pakStore/outStock.html
+++ b/src/main/webapp/views/pakStore/outStock.html
@@ -41,6 +41,9 @@
<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="FSourceBillNo" placeholder="璇疯緭鍏ヨ鍗曞崟鍙�" autocomplete="off">
+ </div>
+ <div class="layui-input-inline">
<input class="layui-input" type="text" name="FBillNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�" autocomplete="off">
</div>
</div>
@@ -69,7 +72,8 @@
</div>
<script type="text/html" id="operate">
- <button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="btnOut">鍑哄簱</button>
+ <button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="btnOut">鍑虹珛搴�</button>
+ <button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="btnNormalOut">鍑哄钩搴�</button>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
diff --git a/src/main/webapp/views/pakStore/outStockNormalDetail.html b/src/main/webapp/views/pakStore/outStockNormalDetail.html
new file mode 100644
index 0000000..937ec75
--- /dev/null
+++ b/src/main/webapp/views/pakStore/outStockNormalDetail.html
@@ -0,0 +1,123 @@
+<!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">
+ <link rel="stylesheet" href="../../static/css/print.css" media="all">
+
+</head>
+<body>
+<div>
+ <div class="layui-form" style="padding-top: 8px; padding-left: 8px">
+ <button style="margin-bottom: 0px" class="layui-btn layui-btn-sm layui-form-item" style="display: inline-block"
+ id="outbound" lay-submit
+ lay-event="outbound" onclick="outbound()">鍚姩鍑哄簱
+ </button>
+ </div>
+ <table class="layui-hide" id="stockOut" lay-filter="stockOut" style="margin-top: 0px"></table>
+</div>
+
+</body>
+<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/handlebars/handlebars-v4.5.3.js"></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>
+ var orderData = parent.getOrderData();
+ var locData = [];
+ var table;
+
+ function getCol() {
+ var cols = [
+ {type: 'checkbox'}
+ , {field: 'warehouseName', align: 'center', title: '搴撳尯鍚嶇О'}
+ , {field: 'warehouse', align: 'center', title: '搴撲綅缂栧彿'}
+ , {field: 'anfme', align: 'center', title: '鏁伴噺'}
+ ];
+ cols.push.apply(cols, locNormalCols);
+ cols.push({field: 'modiUser$', align: 'center', title: '淇敼浜哄憳', hide: true}
+ , {field: 'modiTime$', align: 'center', title: '淇敼鏃堕棿', hide: true})
+ return cols;
+ }
+
+ layui.use(['table', 'laydate', 'form'], function () {
+ 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 + '/outStock/query/locNormalList?fbillNo=' + orderData.fbillNo,
+ page: true,
+ limit: 9999,
+ limits: [9999],
+ even: true,
+// cellMinWidth: 50,
+ cols: [getCol()],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'data': res.data,
+ 'code': res.code,
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function (res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ }
+ locData = res.data;
+ }
+ });
+ });
+
+ /* 鍚姩鍑哄簱 */
+ function outbound() {
+ locData
+ var checkStatus = table.checkStatus('stockOut');
+ var checkData = checkStatus.data;
+ var obj = {
+ list: checkData,
+ supplier: orderData.fbillNo,
+ }
+ if (checkData.length > 0) {
+ $.ajax({
+ url: baseUrl + "/outStock/locNormal",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(obj),
+ method: 'POST',
+ traditional: true,
+ success: function (res) {
+ if (res.code === 200) {
+ parent.closeDetail(res.msg);
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ } else {
+ layer.msg("璇烽�夋嫨闇�瑕佸嚭搴撶墿鏂�");
+ return;
+ }
+ }
+
+</script>
+</html>
\ No newline at end of file
--
Gitblit v1.9.1