From 6fb41e52a978eedf556417a18042bba5a6f2a298 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 24 二月 2021 16:40:33 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/pda/service/MobileService.java           |   14 ++
 src/main/java/zy/cloud/wms/manager/service/MatService.java          |    2 
 src/main/java/zy/cloud/wms/pda/controller/MobileController.java     |   98 ++++++++++++++++
 src/main/resources/mapper/MatMapper.xml                             |    3 
 src/main/java/zy/cloud/wms/common/utils/VersionUtils.java           |   32 +++++
 src/main/webapp/views/pda/comb.html                                 |    8 
 src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java |    7 +
 src/main/java/zy/cloud/wms/pda/entity/CombParam.java                |   66 +++++++++++
 src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java  |  121 ++++++++++++++++++++
 src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java            |    3 
 10 files changed, 350 insertions(+), 4 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
new file mode 100644
index 0000000..4516cee
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
@@ -0,0 +1,32 @@
+package zy.cloud.wms.common.utils;
+
+import zy.cloud.wms.manager.entity.Comb;
+import zy.cloud.wms.manager.entity.Mat;
+
+/**
+ * Created by vincent on 2020/7/14
+ */
+public class VersionUtils {
+
+    // 涓氬姟 ----------------------------------------------------------------------
+
+    public static void setComb(Comb comb, Mat mat) {
+        comb.setMatnr(mat.getMatnr());
+        comb.setMaktx(mat.getMaktx());
+        comb.setName(mat.getName());
+        comb.setSpecs(mat.getSpecs());
+        comb.setModel(mat.getModel());
+        comb.setBatch(mat.getBatch());
+        comb.setUnit(mat.getUnit());
+        comb.setBarcode(mat.getBarcode());
+        comb.setDocId(mat.getDocId());
+        comb.setDocNum(mat.getDocNum());
+        comb.setCustName(mat.getCustName());
+        comb.setItemNum(mat.getItemNum());
+        comb.setCount(mat.getCount());
+        comb.setWeight(mat.getWeight());
+    }
+
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java
index 070ab9a..885d10e 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java
@@ -1,5 +1,6 @@
 package zy.cloud.wms.manager.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import zy.cloud.wms.manager.entity.Mat;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -9,4 +10,6 @@
 @Repository
 public interface MatMapper extends BaseMapper<Mat> {
 
+    Mat selectByMatnr(@Param("matnr")String matnr);
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/MatService.java b/src/main/java/zy/cloud/wms/manager/service/MatService.java
index b0e4dbe..14cffbc 100644
--- a/src/main/java/zy/cloud/wms/manager/service/MatService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/MatService.java
@@ -5,4 +5,6 @@
 
 public interface MatService extends IService<Mat> {
 
+    Mat selectByMatnr(String matnr);
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java
index 5022737..3cf1e24 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java
@@ -9,4 +9,11 @@
 @Service("matService")
 public class MatServiceImpl extends ServiceImpl<MatMapper, Mat> implements MatService {
 
+
+    @Override
+    public Mat selectByMatnr(String matnr) {
+        return this.baseMapper.selectByMatnr(matnr);
+    }
+
+
 }
diff --git a/src/main/java/zy/cloud/wms/pda/controller/MobileController.java b/src/main/java/zy/cloud/wms/pda/controller/MobileController.java
new file mode 100644
index 0000000..cf92c16
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/pda/controller/MobileController.java
@@ -0,0 +1,98 @@
+package zy.cloud.wms.pda.controller;
+
+import com.core.annotations.ManagerAuth;
+import com.core.common.R;
+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.RestController;
+import zy.cloud.wms.common.web.BaseController;
+import zy.cloud.wms.pda.entity.CombParam;
+import zy.cloud.wms.pda.service.MobileService;
+
+/**
+ * 绉诲姩绔帴鍙f帶鍒跺櫒
+ * Created by vincent on 2020/6/10
+ */
+@RestController
+@RequestMapping("mobile")
+public class MobileController extends BaseController {
+
+    @Autowired
+    private MobileService mobileService;
+
+    /**
+     * 缁勬墭
+     */
+    @RequestMapping("/comb/auth")
+    @ManagerAuth(memo = "缁勬墭")
+    public R comb(@RequestBody CombParam combParam){
+        mobileService.comb(combParam, getUserId());
+        return R.ok();
+    }
+
+
+//    /**
+//     *  鏍规嵁搴撲綅鍙锋煡鎵惧簱瀛樻槑缁�
+//     */
+//    @RequestMapping("/locDetl")
+//    @ManagerAuth
+//    public R getLocDetl(@RequestParam(required = false)String locNo,
+//                        @RequestParam(required = false)String matNo){
+//        if (!Cools.isEmpty(locNo)) {
+//            LocMast locMast = locMastService.selectById(locNo);
+//            if (null == locMast || !"F".equals(locMast.getLocSts())) {
+//                return R.parse(BaseRes.EMPTY);
+//            }
+//            List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+//                    .eq("loc_no", locNo).orderBy("appe_time", false));
+//            List<MobileLocDetlVo> res = new ArrayList<>();
+//            locDetls.forEach(locDetl -> {
+//                MobileLocDetlVo vo = new MobileLocDetlVo();
+//                vo.setLocNo(locDetl.getLocNo());
+//                vo.setMatnr(locDetl.getMatnr());
+//                vo.setMaktx(locDetl.getMaktx());
+//                vo.setCount(locDetl.getAnfme());
+//                res.add(vo);
+//            });
+//            return R.ok().add(res);
+//        }
+//        if (!Cools.isEmpty(matNo)) {
+//            List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+//                    .eq("matnr", matNo).orderBy("appe_time", false));
+//            List<MobileLocDetlVo> res = new ArrayList<>();
+//            locDetls.forEach(locDetl -> {
+//                MobileLocDetlVo vo = new MobileLocDetlVo();
+//                vo.setLocNo(locDetl.getLocNo());
+//                vo.setMatnr(locDetl.getMatnr());
+//                vo.setMaktx(locDetl.getMaktx());
+//                vo.setCount(locDetl.getAnfme());
+//                res.add(vo);
+//            });
+//            return R.ok().add(res);
+//        }
+//        return R.parse(BaseRes.PARAM);
+//    }
+//
+//    /**
+//     * 鏍规嵁閫氱煡鍗曟煡璇㈡槑缁�
+//     */
+//    @RequestMapping("/bill/query/auth")
+//    @ManagerAuth(memo = "鏍规嵁閫氱煡鍗曟煡璇㈡槑缁�")
+//    public R billQuery(@RequestParam String billNo){
+//        List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("supplier", billNo).isNull("zpallet"));
+//        List<CombBillQueryVo> vos = new ArrayList<>();
+//        if (!Cools.isEmpty(waitPakins)) {
+//            for (WaitPakin waitPakin : waitPakins) {
+//                CombBillQueryVo vo = new CombBillQueryVo();
+//                vo.setMatNo(waitPakin.getMatnr());
+//                vo.setMatName(waitPakin.getMaktx());
+//                vo.setCount(waitPakin.getAnfme());
+//                vos.add(vo);
+//            }
+//        }
+//        return R.ok().add(vos);
+//    }
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/pda/entity/CombParam.java b/src/main/java/zy/cloud/wms/pda/entity/CombParam.java
new file mode 100644
index 0000000..eda6445
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/pda/entity/CombParam.java
@@ -0,0 +1,66 @@
+package zy.cloud.wms.pda.entity;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/28
+ */
+public class CombParam {
+
+    // 鎵樼洏鏉$爜
+    private String zpallet;
+
+    private List<CombMat> combMats;
+
+    private String billNo;
+
+    public static class CombMat {
+
+        // 鐗╂枡缂栧彿
+        private String matnr;
+
+        // 鐗╂枡鏁伴噺
+        private Double count;
+
+        public String getMatnr() {
+            return matnr;
+        }
+
+        public void setMatnr(String matnr) {
+            this.matnr = matnr;
+        }
+
+        public Double getCount() {
+            return count;
+        }
+
+        public void setCount(Double count) {
+            this.count = count;
+        }
+
+    }
+
+    public String getZpallet() {
+        return zpallet;
+    }
+
+    public void setZpallet(String zpallet) {
+        this.zpallet = zpallet;
+    }
+
+    public List<CombMat> getCombMats() {
+        return combMats;
+    }
+
+    public void setCombMats(List<CombMat> combMats) {
+        this.combMats = combMats;
+    }
+
+    public String getBillNo() {
+        return billNo;
+    }
+
+    public void setBillNo(String billNo) {
+        this.billNo = billNo;
+    }
+}
diff --git a/src/main/java/zy/cloud/wms/pda/service/MobileService.java b/src/main/java/zy/cloud/wms/pda/service/MobileService.java
new file mode 100644
index 0000000..54d005f
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/pda/service/MobileService.java
@@ -0,0 +1,14 @@
+package zy.cloud.wms.pda.service;
+
+
+import zy.cloud.wms.pda.entity.CombParam;
+
+public interface MobileService {
+
+    /**
+     * 缁勬墭
+     * @param param
+     */
+    void comb(CombParam param, Long userId);
+
+}
diff --git a/src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java b/src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java
new file mode 100644
index 0000000..8571ca5
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java
@@ -0,0 +1,121 @@
+package zy.cloud.wms.pda.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import zy.cloud.wms.common.utils.VersionUtils;
+import zy.cloud.wms.manager.entity.Comb;
+import zy.cloud.wms.manager.entity.Mat;
+import zy.cloud.wms.manager.service.CombService;
+import zy.cloud.wms.manager.service.MatService;
+import zy.cloud.wms.pda.entity.CombParam;
+import zy.cloud.wms.pda.service.MobileService;
+
+import java.util.Date;
+
+/**
+ * 绉诲姩绔湇鍔℃牳蹇冪被
+ * Created by vincent on 2020/6/28
+ */
+@Service
+public class MobileServiceImpl implements MobileService {
+
+    @Autowired
+    private MatService matService;
+    @Autowired
+    private CombService combService;
+
+    @Override
+    @Transactional
+    public void comb(CombParam param, Long userId) {
+        if (Cools.isEmpty(param.getZpallet())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getCombMats())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+        int count = combService.selectCount(new EntityWrapper<Comb>().
+                eq("zpallet", param.getZpallet()).eq("io_status", 1));
+        if (count > 0) {
+            throw new CoolException("鏉$爜鏁版嵁宸插瓨鍦�");
+        }
+        if (Cools.isEmpty(param.getBillNo())) {
+            for (CombParam.CombMat combMat : param.getCombMats()) {
+                Mat mat = matService.selectByMatnr(combMat.getMatnr());
+                if (Cools.isEmpty(mat)) {
+                    throw new CoolException("鐗╂枡鏁版嵁閿欒");
+                }
+                Comb comb = new Comb();
+                comb.setZpallet(param.getZpallet());   // 鎵樼洏鐮�
+                comb.setStatus(1);    // 鐘舵��
+                comb.setAnfme(combMat.getCount());  // 鏁伴噺
+                comb.setIoStatus(1);     // 鍏ュ嚭鐘舵�� 1.寰呭叆搴�
+                comb.setCreateBy(userId);
+                comb.setCreateTime(new Date());
+                comb.setUpdateBy(userId);
+                comb.setUpdateTime(new Date());
+                VersionUtils.setComb(comb, mat);
+
+                if (!combService.insert(comb)) {
+                    throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+                }
+            }
+        } else {
+//            // 鍏宠仈閫氱煡鍗曠粍鎵�
+//            for (CombParam.CombMat combMat : param.getCombMats()) {
+//                WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
+//                        .eq("supplier", param.getBillNo())
+//                        .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());
+//                if (!waitPakinService.insert(waitPakin)) {
+//                    throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+//                }
+//                // 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲�
+//                if (waitPakin.getAnfme() >= one.getAnfme()) {
+//                    waitPakinService.delete(new EntityWrapper<WaitPakin>()
+//                            .eq("supplier", param.getBillNo())
+//                            .eq("matnr", combMat.getMatNo())
+//                            .isNull("zpallet"));
+//                } else {
+//                    Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+//                            .eq("supplier", param.getBillNo())
+//                            .eq("matnr", combMat.getMatNo())
+//                            .isNull("zpallet");
+//                    WaitPakin pakin = new WaitPakin();
+//                    pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme());
+//                    if (!waitPakinService.update(pakin, wrapper)) {
+//                        throw new CoolException("鏇存柊鏁版嵁澶辫触");
+//                    }
+//
+//                }
+//
+//            }
+
+
+        }
+
+
+    }
+
+}
diff --git a/src/main/resources/mapper/MatMapper.xml b/src/main/resources/mapper/MatMapper.xml
index d34f6f3..aa1dd26 100644
--- a/src/main/resources/mapper/MatMapper.xml
+++ b/src/main/resources/mapper/MatMapper.xml
@@ -41,4 +41,7 @@
         ORDER BY mm.create_time DESC
     </select>
 
+    <select id="selectByMatnr" resultMap="BaseResultMap">
+        select * from man_mat where 1=1 and matnr = #{matnr}
+    </select>
 </mapper>
diff --git a/src/main/webapp/views/pda/comb.html b/src/main/webapp/views/pda/comb.html
index 237b297..bcb0e6b 100644
--- a/src/main/webapp/views/pda/comb.html
+++ b/src/main/webapp/views/pda/comb.html
@@ -199,13 +199,13 @@
 
     // 缁勬墭
     function comb() {
-        let barcode = $('#code').val();
-        if (isEmpty(barcode)) {
+        var zpallet = $('#code').val();
+        if (isEmpty(zpallet)) {
             tips("鎵樼洏鏉$爜涓虹┖", true);
             // document.getElementById("code").focus();
             return;
         }
-        if (barcode.length !== 7) {
+        if (zpallet.length !== 7) {
             tips("鏉$爜蹇呴』涓�7浣�", true);
             return;
         }
@@ -217,7 +217,7 @@
             url: baseUrl+"/mobile/comb/auth",
             headers: {'token': localStorage.getItem('token')},
             data: JSON.stringify({
-                barcode: barcode,
+                zpallet: zpallet,
                 combMats: matData
             }),
             contentType:'application/json;charset=UTF-8',

--
Gitblit v1.9.1