#
luxiaotao1123
2021-02-24 6fb41e52a978eedf556417a18042bba5a6f2a298
#
5个文件已添加
5个文件已修改
354 ■■■■■ 已修改文件
src/main/java/zy/cloud/wms/common/utils/VersionUtils.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/MatService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/pda/controller/MobileController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/pda/entity/CombParam.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/pda/service/MobileService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/MatMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/comb.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
New file
@@ -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());
    }
}
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);
}
src/main/java/zy/cloud/wms/manager/service/MatService.java
@@ -5,4 +5,6 @@
public interface MatService extends IService<Mat> {
    Mat selectByMatnr(String matnr);
}
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);
    }
}
src/main/java/zy/cloud/wms/pda/controller/MobileController.java
New file
@@ -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;
/**
 * 移动端接口控制器
 * 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);
//    }
}
src/main/java/zy/cloud/wms/pda/entity/CombParam.java
New file
@@ -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;
    }
}
src/main/java/zy/cloud/wms/pda/service/MobileService.java
New file
@@ -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);
}
src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java
New file
@@ -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("更新数据失败");
//                    }
//
//                }
//
//            }
        }
    }
}
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>
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',