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