From 613a4f53f24672cc7e202f6f40a9d51bae904e40 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 28 三月 2024 14:12:45 +0800
Subject: [PATCH] #平库转立库
---
src/main/java/com/zy/asrs/entity/param/CombParam.java | 10 +
src/main/webapp/views/pda/index.html | 8
src/main/webapp/views/pda/combLToP.html | 226 +++++++++++++++++++++++++
src/main/java/com/zy/asrs/entity/LocNormal.java | 1
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 265 +++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/controller/MobileController.java | 7
src/main/webapp/static/js/common.js | 2
src/main/java/com/zy/asrs/service/MobileService.java | 2
8 files changed, 519 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 21d5f1c..e85a9de 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -52,6 +52,13 @@
return R.ok();
}
+ @RequestMapping("/combLtoP/auth")
+ @ManagerAuth(memo = "绉诲簱缁勬墭")
+ public R combLtoP(@RequestBody CombParam combParam){
+ mobileService.combLtoP(combParam, getUserId());
+ 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 a2d8673..6c92cae 100644
--- a/src/main/java/com/zy/asrs/entity/LocNormal.java
+++ b/src/main/java/com/zy/asrs/entity/LocNormal.java
@@ -26,6 +26,7 @@
private static final long serialVersionUID = 1L;
@ApiModelProperty(value= "鑷ID")
+ @TableId(value = "id",type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value= "鐗╂枡")
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index d68b66a..46507e6 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -26,6 +26,16 @@
// 灏忚溅鍙栬揣鐐�
private Integer agvSite;
+ private Integer move;
+
+ public Integer getMove() {
+ return move;
+ }
+
+ public void setMove(Integer move) {
+ this.move = move;
+ }
+
public String getWarehouse() {
return warehouse;
}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 345e60a..2b38eff 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -10,6 +10,8 @@
*/
void comb(CombParam param, Long userId);
+ void combLtoP(CombParam param, Long userId);
+
/**
* 缁勬墭-鎵归噺
* @param param
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 05e9f89..1140a5e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -23,6 +23,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
+import java.math.BigDecimal;
import java.text.MessageFormat;
import java.util.Date;
import java.util.List;
@@ -51,6 +52,8 @@
private LocMastService locMastService;
@Autowired
private LocDetlService locDetlService;
+ @Autowired
+ private LocNormalService locNormalService;
@Override
@Transactional
@@ -87,6 +90,7 @@
waitPakin.setModiUser(userId);
waitPakin.setModiTime(new Date());
VersionUtils.setWaitPakIn(waitPakin, matCode);
+ waitPakin.setBrand("N");
// waitPakin.setMatnr(matCode.getMatNo()+"|"+combMat.getMnemonic()); //浜у搧缂栫爜|鐢熶骇鍗曞彿
// waitPakin.setBname(matCode.getMatNo());
// 濡傛灉鐢熸垚鍗曞彿涓嶄负绌烘彃鍏ョ敓浜у崟鍙�
@@ -161,7 +165,7 @@
waitPakin.setMnemonic(param.getProductCode()); // 鍔╄鐮�
waitPakin.setSupplier(param.getProductCode()); // 榛樿渚涘簲鍟�
waitPakin.setWarehouse(param.getProductCode()); // 榛樿浠撳簱
- waitPakin.setBrand(param.getProductCode()); // 鍝佺墝
+ waitPakin.setBrand("N"); // 鍝佺墝
waitPakin.setAltme(param.getProductCode()); // 鍗曚綅
if (!waitPakinService.insert(waitPakin)) {
@@ -205,6 +209,7 @@
waitPakin.setModiUser(userId);
waitPakin.setModiTime(new Date());
waitPakin.setSupplier(combMat.getSupplier());
+ waitPakin.setBrand("N");
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
@@ -274,6 +279,264 @@
}
+ @Override
+ @Transactional
+ public void combLtoP(CombParam param, Long userId) {
+ if (Cools.isEmpty(param.getBarcode())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getCombMats()) && Cools.isEmpty(param.getProductCode())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ int waitPakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+ eq("zpallet", param.getBarcode())
+ //.eq("io_status", "N")
+ );
+ int wrkMastCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
+ int locDetlCount = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+ if (waitPakinCount > 0 || wrkMastCount > 0 || locDetlCount > 0) {
+ throw new CoolException("鏉$爜鏁版嵁宸插瓨鍦�");
+ }
+ if (Cools.isEmpty(param.getBillNo())) {
+ if (Cools.isEmpty(param.getProductCode())) {
+ for (CombParam.CombMat combMat : param.getCombMats()) {
+ MatCode matCode = matCodeService.selectById(combMat.getMatNo());
+ if (Cools.isEmpty(matCode)) {
+ throw new CoolException("鐗╂枡鏁版嵁閿欒");
+ }
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAnfme(combMat.getCount()); // 鏁伴噺
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(new Date());
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(new Date());
+ VersionUtils.setWaitPakIn(waitPakin, matCode);
+ if (param.getMove() == 1){
+ waitPakin.setBrand("Y");
+ }else {
+ waitPakin.setBrand("N");
+ }
+// waitPakin.setMatnr(matCode.getMatNo()+"|"+combMat.getMnemonic()); //浜у搧缂栫爜|鐢熶骇鍗曞彿
+// waitPakin.setBname(matCode.getMatNo());
+ // 濡傛灉鐢熸垚鍗曞彿涓嶄负绌烘彃鍏ョ敓浜у崟鍙�
+ if (!Cools.isEmpty(combMat.getMnemonic())) {
+ waitPakin.setMnemonic(combMat.getMnemonic());
+ }
+
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+ if (param.getMove() == 1){
+ EntityWrapper<LocNormal> locNormalEntityWrapper = new EntityWrapper<>();
+ locNormalEntityWrapper.eq("matnr",waitPakin.getMatnr());
+ locNormalEntityWrapper.eq("mnemonic",waitPakin.getMnemonic());
+ locNormalEntityWrapper.eq("state","1");
+ LocNormal locNormal = locNormalService.selectOne(locNormalEntityWrapper);
+ if (Cools.isEmpty(locNormal)){
+ throw new CoolException("鏈壘鍒板钩搴撶浉鍚屽簱瀛�");
+ }
+ if (combMat.getCount() < locNormal.getAnfme().doubleValue()){
+ locNormal.setAnfme(locNormal.getAnfme().subtract(BigDecimal.valueOf(combMat.getCount())));
+ boolean update = locNormalService.update(locNormal, locNormalEntityWrapper);
+ if (!update){
+ throw new CoolException("鏇存柊搴撳瓨鏁版嵁鏈夎");
+ }
+ }else if (combMat.getCount() == locNormal.getAnfme().doubleValue()){
+ boolean delete = locNormalService.delete(locNormalEntityWrapper);
+ if (!delete){
+ throw new CoolException("鍒犻櫎搴撳瓨鏁版嵁鍑洪敊");
+ }
+ }else {
+ throw new CoolException("搴撳瓨鏁版嵁鏈夎");
+ }
+ }
+
+ }
+ // 灏忚溅鍏ュ簱鎼繍鍛戒护 ----------------------------------------------------
+// if (!Cools.isEmpty(param.getAgvSite())) {
+// // 鍒ゆ柇鏄惁鏈夌┖闂插皬杞�
+// if (basAgvService.haveIdleAgv()) {
+// AgvCommand command = new AgvCommand();
+// command.setAgvId(0);
+// command.setInterCode(basAgvService.getAgvWorkNo());
+// command.setBeginLoc(String.valueOf(param.getAgvSite()));
+// command.setEndLoc("1088");
+// log.info(JSON.toJSONString(command));
+// String result;
+// try {
+// result = new HttpHandler.Builder()
+// .setUri(agvUrl + "/api/interfaceTask/SendTaskByThirdParty")
+// .setJson(JSON.toJSONString(command))
+// .build()
+// .doPost();
+// } catch (IOException e) {
+// e.printStackTrace();
+// throw new CoolException("璁块棶AGV鎺ュ彛澶辫触");
+// }
+// AgvResult agvResult = JSON.parseObject(result, AgvResult.class);
+// log.info(JSON.toJSONString(agvResult));
+// if (!agvResult.getResult()) {
+// log.error("agv鍛戒护鍙戦�佸け璐agvId={}]锛岄敊璇俊鎭�={}", command.getAgvId(), agvResult.getExplain());
+// throw new CoolException("agv鍛戒护鍙戦�佸け璐agvId=" + command.getAgvId() + "]锛岄敊璇俊鎭�=" + agvResult.getExplain());
+// }
+// } else {
+// throw new CoolException("娌℃湁绌洪棽灏忚溅");
+// }
+//
+// }
+// // 鍒ゆ柇鏃犻�氱煡鍗曞彿supplier鐨勫叆搴撴暟鎹紝CPICMO鎻掑叆鏁版嵁
+// List<CombParam.CombMat> erpMatList = param.getCombMats();
+// for (CombParam.CombMat es : erpMatList) {
+// if (Cools.isEmpty(es.getSupplier())) {
+// String maxKeySql = "select min(FInterID) as num from CPICMO";
+// List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class);
+// Integer maxKey = maxKeyList.get(0).getNum();
+// String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop,Fflag_rw) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378, 1)";
+// ErpSql = MessageFormat.format(ErpSql, maxKey - 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getMnemonic());
+// erpSqlServer.update(ErpSql);
+// }
+// }
+
+ } else {
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAnfme((double) 1); // 鏁伴噺
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(new Date());
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(new Date());
+
+ waitPakin.setMatnr(param.getProductCode()); // 鐗╂枡缂栧彿
+ waitPakin.setMaktx(param.getProductCode()); // 鐗╂枡鎻忚堪
+ waitPakin.setLgnum(param.getProductCode()); // 瑙勬牸
+ waitPakin.setType(param.getProductCode()); // 鐗╂枡绫诲埆
+ waitPakin.setMnemonic(param.getProductCode()); // 鍔╄鐮�
+ waitPakin.setSupplier(param.getProductCode()); // 榛樿渚涘簲鍟�
+ waitPakin.setWarehouse(param.getProductCode()); // 榛樿浠撳簱
+ if (param.getMove() == 1){
+ waitPakin.setBrand("Y");
+ }else {
+ waitPakin.setBrand("N");
+ }
+ waitPakin.setAltme(param.getProductCode()); // 鍗曚綅
+
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+
+// // 鍒ゆ柇鏃犻�氱煡鍗曞彿supplier鐨勫叆搴撴暟鎹紝CPICMO鎻掑叆鏁版嵁
+// List<CombParam.CombMat> erpMatList = param.getCombMats();
+// for (CombParam.CombMat es : erpMatList) {
+// if (Cools.isEmpty(es.getSupplier())) {
+// String maxKeySql = "select min(FInterID) as num from CPICMO";
+// List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class);
+// Integer maxKey = maxKeyList.get(0).getNum();
+// String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop, Fflag_rw) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378, 1)";
+// ErpSql = MessageFormat.format(ErpSql, maxKey - 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getMnemonic());
+// erpSqlServer.update(ErpSql);
+// }
+// }
+ }
+ } else {
+ // 鍏宠仈閫氱煡鍗曠粍鎵�
+ for (CombParam.CombMat combMat : param.getCombMats()) {
+ WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
+ .eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .isNull("zpallet"));
+ if (one == null) {
+ throw new CoolException("閫氱煡鍗曚笉瀛樺湪" + combMat.getMatNo() + "鏁版嵁锛�");
+ }
+ if (combMat.getCount() > one.getAnfme()) {
+ throw new CoolException(combMat.getMatNo() + "鐗╂枡鏁伴噺涓嶈冻锛�");
+ }
+ MatCode matCode = matCodeService.selectById(combMat.getMatNo());
+ if (Cools.isEmpty(matCode)) {
+ throw new CoolException("鐗╂枡鏁版嵁閿欒");
+ }
+ WaitPakin waitPakin = one.clone();
+ waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ waitPakin.setAnfme(combMat.getCount()); // 鏁伴噺
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(new Date());
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(new Date());
+ waitPakin.setSupplier(combMat.getSupplier());
+ waitPakin.setBrand("N");
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+ // 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲�
+ if (waitPakin.getAnfme() >= one.getAnfme()) {
+ waitPakinService.delete(new EntityWrapper<WaitPakin>()
+ .eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .eq("mnemonic", param.getMnemonic())
+ .isNull("zpallet"));
+ } else {
+ Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
+ if ("".equals(param.getMnemonic())) {
+ wrapper.eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .isNull("zpallet");
+ } else {
+ wrapper.eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .eq("mnemonic", param.getMnemonic())
+ .isNull("zpallet");
+ }
+ WaitPakin pakin = new WaitPakin();
+ pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme());
+ if (!waitPakinService.update(pakin, wrapper)) {
+ throw new CoolException("鏇存柊鏁版嵁澶辫触");
+ }
+
+ }
+
+ }
+
+ // 灏忚溅鍏ュ簱鎼繍鍛戒护 ----------------------------------------------------
+// if (!Cools.isEmpty(param.getCombMats()) && !Cools.isEmpty(param.getAgvSite())) {
+// // 鍒ゆ柇鏄惁鏈夌┖闂插皬杞�
+// if (basAgvService.haveIdleAgv()) {
+// AgvCommand command = new AgvCommand();
+// command.setAgvId(0);
+// command.setInterCode(basAgvService.getAgvWorkNo());
+// command.setBeginLoc(String.valueOf(param.getAgvSite()));
+// command.setEndLoc("1088");
+// log.info(JSON.toJSONString(command));
+// String result;
+// try {
+// result = new HttpHandler.Builder()
+// .setUri(agvUrl + "/api/interfaceTask/SendTaskByThirdParty")
+// .setJson(JSON.toJSONString(command))
+// .build()
+// .doPost();
+// } catch (IOException e) {
+// e.printStackTrace();
+// throw new CoolException("璁块棶AGV鎺ュ彛澶辫触");
+// }
+// AgvResult agvResult = JSON.parseObject(result, AgvResult.class);
+// log.info(JSON.toJSONString(agvResult));
+// if (!agvResult.getResult()) {
+// log.error("agv鍛戒护鍙戦�佸け璐agvId={}]锛岄敊璇俊鎭�={}", command.getAgvId(), agvResult.getExplain());
+// throw new CoolException("agv鍛戒护鍙戦�佸け璐agvId=" + command.getAgvId() + "]锛岄敊璇俊鎭�=" + agvResult.getExplain());
+// }
+// } else {
+// throw new CoolException("娌℃湁绌洪棽灏忚溅");
+// }
+//
+// }
+
+ }
+
+
+ }
@Override
@Transactional
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index a5a4ea1..00f16c1 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -222,7 +222,7 @@
,{field: 'mnemonic', align: 'center',title: '鐢熶骇鍗曞彿'}
,{field: 'supplier', align: 'center',title: '閫氱煡鍗曞彿'}
// ,{field: 'warehouse', align: 'center',title: '浜у湴'}
- // ,{field: 'brand', align: 'center',title: '鍝佺墝'}
+ ,{field: 'brand', align: 'center',title: '绉诲簱'}
// ,{field: 'altme', align: 'center',title: '鍗曚綅'}
,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
]
diff --git a/src/main/webapp/views/pda/combLToP.html b/src/main/webapp/views/pda/combLToP.html
new file mode 100644
index 0000000..b0676be
--- /dev/null
+++ b/src/main/webapp/views/pda/combLToP.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
+ <title>缁勬墭</title>
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/pda.css" media="all">
+ <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>
+ <style>
+
+ </style>
+</head>
+<body>
+<!-- 澶撮儴 -->
+<header>
+ <form class="layui-form">
+ <div class="layui-form-item">
+ <label class="layui-form-label">鎵樼洏鐮�</label>
+ <div class="layui-input-block">
+ <input class="layui-input" type="number" id="code" onkeyup="findCode(this)" oninput="if(value.length>8)value=value.slice(0,8)" placeholder="鎵爜 / 杈撳叆" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-form-item" style="margin-top: 5px">
+ <label class="layui-form-label">骞充粨鐗╂枡</label>
+ <div class="layui-input-block" style="width: 150px">
+ <select name="interest" lay-filter="closeThePosition">
+ <option value="">鏄惁绉诲簱</option>
+ <option value="1">鏄�</option>
+ <option value="2">鍚�</option>
+ </select>
+ </div>
+
+ </div>
+ <div style="margin: 5px 5px">
+ <button id="mat-btn" type="button" class="layui-btn layui-btn-normal" onclick="getMat()"><i class="layui-icon">+</i>鎻愬彇</button>
+ </div>
+
+ </form>
+
+</header>
+
+<!-- 涓讳綋 -->
+<main>
+ <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
+</main>
+<!-- 灏鹃儴 -->
+<footer>
+ <div class="layui-btn-container">
+ <button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
+ <button type="button" id="comb-btn" class="layui-btn layui-btn-normal " onclick="comb()" style="margin-left: 20px">缁勬墭</button>
+ <button type="button" id="retrun-btn" class="layui-btn layui-btn-primary " onclick="back()" style="margin-left: 20px">杩斿洖</button>
+ <span id="tips"></span>
+ </div>
+</footer>
+</body>
+<script>
+ var tableIns;
+ let move = 0;
+ 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',
+ data: [],
+ width: 320,
+ limit: 500,
+ cellMinWidth: 50,
+ cols: [[
+ {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜'},
+ {field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿'},
+ {field: 'count', align: 'center', title: '鏁伴噺', style:'color: blue', width:50},
+ {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О'}
+ ]],
+ done: function (res, curr, count) {
+ }
+ });
+
+ form.on('select(closeThePosition)', function(data){
+ move = data.value;
+ // console.log(data.elem); //寰楀埌select鍘熷DOM瀵硅薄
+ console.log(move); //寰楀埌琚�変腑鐨勫��
+ // console.log(data.othis); //寰楀埌缇庡寲鍚庣殑DOM瀵硅薄
+ });
+
+ });
+
+ window.onload = function(){document.getElementById("code").focus();}
+
+ function findCode(el) {
+ if (el.value.length === 7) {
+ $('#mat-btn').focus();
+ getMat();
+ }
+ }
+
+ var matCodeLayerIdx;
+ function getMat() {
+ matCodeLayerIdx = layer.open({
+ type: 2,
+ title: '鎻愬彇鐗╂枡',
+ shade: [0.3,'#000'],
+ area: ['90%', '90%'],
+ content: 'matQuery.html',
+ success: function(layero, index){
+ $('.layui-layer-title').css('font-size', '16px');
+ },
+ end: function () {
+ $('#mat-btn').focus();
+ }
+ });
+ }
+
+ // 娣诲姞琛ㄦ牸鏁版嵁
+ var matData = [];
+ function addTableData(data) {
+ if (isEmpty(data.matName)){
+ tips("鎻愬彇澶辫触", true);
+ return;
+ }
+ let toPush = true;
+ for (var j=0;j<matData.length;j++){
+ if (data.matNo === matData[j].matNo) {
+ matData[j].count = Number(matData[j].count) + Number(data.count);
+ toPush = false;
+ }
+ }
+ if (toPush) {
+ matData.push(data);
+ }
+ tips("鎻愬彇鎴愬姛");
+ tableIns.reload({data: matData});
+ }
+
+ // 閲嶇疆
+ function reset() {
+ $('#code').val("");
+ matData = [];
+ tableIns.reload({data: matData});
+ }
+
+
+ // 缁勬墭
+ function comb() {
+ let barcode = $('#code').val();
+ let closeThePosition = $('#closeThePosition').val();
+ console.log(closeThePosition);
+ if (isEmpty(barcode)) {
+ tips("鎵樼洏鏉$爜涓虹┖", true);
+ // document.getElementById("code").focus();
+ return;
+ }
+ if (move === 0){
+ tips("璇烽�夋嫨鏄惁涓虹Щ搴�", true);
+ // document.getElementById("code").focus();
+ return;
+ }
+ if (barcode.length !== 7) {
+ tips("鏉$爜蹇呴』涓�7浣�", true);
+ return;
+ }
+ if (matData.length === 0) {
+ tips("璇锋彁鍙栫墿鏂�", true);
+ return;
+ }
+ $.ajax({
+ url: baseUrl+"/mobile/combLtoP/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ barcode: barcode,
+ move: move,
+ combMats: matData
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ reset();
+ tips("缁勬墭鎴愬姛")
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ }
+ })
+ }
+
+ /**
+ * 鎻愮ず淇℃伅
+ * @param msg 鎻愮ず鍐呭
+ * @param warn true锛氱孩鑹插瓧浣�
+ */
+ function tips(msg, warn) {
+ // var tips = $('#tips');
+ // tips.html(msg);
+ // tips.css("color", warn?"red":'#666');
+ layer.msg(msg, {icon: warn?2:1})
+ }
+
+ document.onkeyup = function (e) {
+ if (window.event)//濡傛灉window.event瀵硅薄瀛樺湪锛屽氨浠ユ浜嬩欢瀵硅薄涓哄噯
+ e = window.event;
+ var key = e.charCode || e.keyCode;
+ if (key === 115) {
+ $("#comb-btn").focus();
+ comb();
+ } else if (key === 113) {
+ $("#code").val("");
+ $("#code").focus();
+ }
+ }
+
+ function back() {
+ parent.backIndex();
+ }
+</script>
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/pda/index.html b/src/main/webapp/views/pda/index.html
index 8199ff8..351ea75 100644
--- a/src/main/webapp/views/pda/index.html
+++ b/src/main/webapp/views/pda/index.html
@@ -128,6 +128,14 @@
<div id="locNormalOut" onclick="nav(this.id)" class="nav-font-size">骞充粨鎴愬搧鍑哄簱</div>
</td>
</tr>
+ <tr>
+ <td>
+ <div id="combLToP" onclick="nav(this.id)" class="nav-font-size">绔嬪簱绉诲簱缁勬墭</div>
+ </td>
+<!-- <td>-->
+<!-- <div id="locNormalOut" onclick="nav(this.id)" class="nav-font-size">骞充粨鎴愬搧鍑哄簱</div>-->
+<!-- </td>-->
+ </tr>
</table>
<!-- 涓讳綋鍐呭 -->
--
Gitblit v1.9.1