src/main/java/zy/cloud/wms/common/utils/VersionUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/mapper/MatMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/MatService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/impl/MatServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/pda/controller/MobileController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/pda/entity/CombParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/pda/service/MobileService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/pda/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/MatMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/pda/comb.html | ●●●●● 补丁 | 查看 | 原始文档 | 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',