From 75f553f89590fc616d6f590c253d36d68ca36e05 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 08 六月 2024 21:21:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/ManPakOutController.java | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 293 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
index fe2e3fd..ff45f55 100644
--- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java
+++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
@@ -90,6 +90,293 @@
}
}
+ @RequestMapping(value = "/ManPakOut/add/auth")
+ @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�")
+ @Transactional
+ public R manPakOutAdd(@RequestBody OrderDomainParam param){
+ if (Cools.isEmpty(param)){
+ return R.error("鏁版嵁寮傚父");
+ }
+ if (!Cools.isEmpty(param.getOrderNo())){
+ Order order = orderService.selectOne(new EntityWrapper<Order>()
+ .eq("order_no", param.getOrderNo())
+ );
+ if (Cools.isEmpty(order)){
+ return R.error("鍗曟嵁涓嶅瓨鍦�");
+ }
+ List<OrderDetl> orderDetls =orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+ .eq("order_no", param.getOrderNo())
+ );
+ if (Cools.isEmpty(orderDetls)){
+ return R.error("鍗曟嵁鏄庣粏涓虹┖");
+ }
+ for (OrderDetl orderDetl : orderDetls){
+ List<ManLocDetl> manLocDetls=null;
+ try{
+ if (Cools.isEmpty(orderDetl.getBatch())){
+ manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>()
+ .eq("matnr",orderDetl.getMatnr())
+ );
+ }else {
+ manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>()
+ .eq("matnr",orderDetl.getMatnr())
+ .eq("batch",orderDetl.getBatch())
+ );
+ }
+ }catch (Exception e){
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+
+ if (!Cools.isEmpty(manLocDetls)){
+ for (ManLocDetl manLocDetl:manLocDetls){
+ Double statusAnfme = 0.0;
+ if (Cools.isEmpty(manLocDetl.getStatus())){
+ manLocDetl.setStatus(1);
+ }
+ try{
+ if (manLocDetl.getStatus$().equals("绂佺敤")){
+ if (Cools.isEmpty(manLocDetl.getBatch())){
+ List<ManPakOut> manPakOuts = manPakOutService.selectList(new EntityWrapper<ManPakOut>()
+ .eq("loc_no", manLocDetl.getLocNo())
+ .eq("matnr", manLocDetl.getMatnr())
+ .eq("status",0)
+ );
+ if (!Cools.isEmpty(manPakOuts)){
+ for (ManPakOut manPakOut:manPakOuts){
+ statusAnfme=statusAnfme+manPakOut.getAnfme();
+ }
+ }
+ }else {
+ List<ManPakOut> manPakOuts = manPakOutService.selectList(new EntityWrapper<ManPakOut>()
+ .eq("loc_no", manLocDetl.getLocNo())
+ .eq("matnr", manLocDetl.getMatnr())
+ .eq("batch",manLocDetl.getBatch())
+ .eq("status",0)
+ );
+ if (!Cools.isEmpty(manPakOuts)){
+ for (ManPakOut manPakOut:manPakOuts){
+ statusAnfme=statusAnfme+manPakOut.getAnfme();
+ }
+ }
+ }
+ }
+ }catch (Exception e){
+ return R.error("鏌ヨ搴撳瓨绂佺敤鏁伴噺澶辫触");
+ }
+ Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>()
+ .eq("loc_no", manLocDetl.getLocNo())
+ .eq("matnr", manLocDetl.getMatnr());
+ if (orderDetl.getAnfme() > manLocDetl.getAnfme()-statusAnfme){
+ if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){
+ manLocDetl.setStatus(0);
+ try{
+ if (Cools.isEmpty(manLocDetl.getBatch())){
+ manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime()));
+ }else {
+ manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch()));
+ }
+ }catch (Exception e){
+ return R.error("鏇存柊搴撳瓨澶辫触");
+ }
+ orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme());
+ }else {
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+ }else if (orderDetl.getAnfme()-manLocDetl.getAnfme()-statusAnfme==0){
+ if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){
+ manLocDetl.setStatus(0);
+ try{
+ if (Cools.isEmpty(manLocDetl.getBatch())){
+ manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime()));
+ }else {
+ manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch()));
+ }
+ }catch (Exception e){
+ return R.error("鏇存柊搴撳瓨澶辫触");
+ }
+ orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme());
+ }else {
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+ }else if (orderDetl.getAnfme()<manLocDetl.getAnfme()-statusAnfme){
+ Double a=manLocDetl.getAnfme();
+ manLocDetl.setAnfme(orderDetl.getAnfme());
+ if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){
+ orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme());
+ manLocDetl.setStatus(0);
+ manLocDetl.setAnfme(a);
+ try{
+ if (Cools.isEmpty(manLocDetl.getBatch())){
+ manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime()));
+ }else {
+ manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch()));
+ }
+ }catch (Exception e){
+ return R.error("鏇存柊搴撳瓨澶辫触");
+ }
+
+ }else {
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+ }else {
+ return R.error("绯荤粺鍑洪敊,璇疯仈绯荤鐞嗗憳");
+ }
+ if (orderDetl.getAnfme()==0){
+ break;
+ }
+ }
+ if (orderDetl.getAnfme()!=0){
+ ManLocDetl manLocDetl=new ManLocDetl();
+ manLocDetl.setAnfme(0.0);
+ manLocDetl.setMatnr(orderDetl.getMatnr());
+ manLocDetl.setMaktx(orderDetl.getMaktx());
+ manLocDetl.setMemo(orderDetl.getMemo()+"搴撳瓨涓嶈冻");
+ if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){
+ continue;
+ }else {
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+ }
+ }else {
+ ManLocDetl manLocDetl=new ManLocDetl();
+ manLocDetl.setAnfme(0.0);
+ manLocDetl.setMatnr(orderDetl.getMatnr());
+ manLocDetl.setMaktx(orderDetl.getMaktx());
+ manLocDetl.setMemo(orderDetl.getMemo()+"鏃犲簱瀛�");
+ if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){
+ continue;
+ }else {
+ return R.error("娣诲姞鎷h揣鍗曞け璐�");
+ }
+ }
+
+
+ }
+ orderService.updateSettle(order.getId(),(long)2,null);
+ }else {
+ return R.error("鍗曟嵁缂栧彿寮傚父");
+ }
+ return R.ok("鎷h揣鍗曟坊鍔犳垚鍔�");
+ }
+ private R addPakOUT(ManLocDetl manLocDetl,String OrderNo){
+ ManPakOut manPakOut=new ManPakOut();
+ manPakOut.setWrkNo(OrderNo+"-"+System.currentTimeMillis());
+ manPakOut.setWrkSts((long)1);
+ manPakOut.setAnfme(manLocDetl.getAnfme());
+ manPakOut.setLocNo(manLocDetl.getLocNo());
+ manPakOut.setNodeId(manLocDetl.getNodeId());
+ manPakOut.setMatnr(manLocDetl.getMatnr());
+ manPakOut.setMaktx(manLocDetl.getMaktx());
+ manPakOut.setSpecs(manLocDetl.getSpecs());
+ manPakOut.setUnit(manLocDetl.getUnit());
+ manPakOut.setBarcode(manLocDetl.getBarcode());
+ manPakOut.setDocNum(OrderNo);
+ manPakOut.setStatus(0);
+ manPakOut.setCreateTime(new Date());
+ if (!Cools.isEmpty(manLocDetl.getBatch())){
+ manPakOut.setBatch(manLocDetl.getBatch());
+ manPakOut.setUpdateTime(new Date());
+ }else {
+ manPakOut.setUpdateTime(manLocDetl.getModiTime());//鐢ㄤ簬璇嗗埆璐х墿
+ }
+
+ manPakOut.setMemo(manLocDetl.getMemo());
+ if (Cools.isEmpty(manPakOutService.selectOne(new EntityWrapper<ManPakOut>().eq("doc_num",OrderNo)))){
+ manPakOut.setName(manLocDetl.getMaktx());
+ }
+ try{
+ if (!manPakOutService.insert(manPakOut)){
+ return R.error("娣诲姞鎷h揣鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ }catch (Exception e){
+ return R.error("娣诲姞鎷h揣鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ return R.ok();
+
+ }
+
+ @RequestMapping("/manPakOut/finish")
+ public R finish(@RequestBody ManPakOut manPakOut){
+ Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>()
+ .eq("loc_no", manPakOut.getLocNo())
+ .eq("matnr", manPakOut.getMatnr());
+ try{
+ if (Cools.isEmpty(manPakOut.getBatch())){
+ List<ManLocDetl> manLocDetls = manLocDetlService.selectList(wrapper);
+ Double anfme=manPakOut.getAnfme();
+ for (ManLocDetl manLocDetl:manLocDetls){
+ if (anfme<manLocDetl.getAnfme()){
+ manLocDetl.setAnfme(manLocDetl.getAnfme()-anfme);
+ manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch()));
+ anfme=0.0;
+ }else if (anfme>=manLocDetl.getAnfme()){
+ manLocDetlService.delete(wrapper.eq("batch",manLocDetl.getBatch()));
+ anfme=anfme-manLocDetl.getAnfme();
+ }
+ if (anfme==0.0){
+ break;
+ }
+ }
+ }else {
+ ManLocDetl manLocDetl = manLocDetlService.selectOne(wrapper.eq("batch", manPakOut.getBatch()));
+ if (manPakOut.getAnfme()<manLocDetl.getAnfme()){
+ manLocDetl.setAnfme(manLocDetl.getAnfme()-manPakOut.getAnfme());
+ manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch()));
+ }else if (manPakOut.getAnfme()-manLocDetl.getAnfme()==0){
+ manLocDetlService.delete(wrapper.eq("batch",manLocDetl.getBatch()));
+ }
+ }
+ }catch (Exception e){
+ return R.error("鏇存柊搴撳瓨鏁伴噺澶辫触");
+ }
+
+
+ ManPakOut out = Cools.isEmpty(manPakOut.getBatch())? manPakOutService.selectOne(new EntityWrapper<ManPakOut>()
+ .eq("wrk_no", manPakOut.getWrkNo())
+ .eq("matnr", manPakOut.getMatnr()))
+ :manPakOutService.selectOne(new EntityWrapper<ManPakOut>()
+ .eq("wrk_no", manPakOut.getWrkNo())
+ .eq("matnr", manPakOut.getMatnr())
+ .eq("batch",manPakOut.getBatch()));
+ out.setWrkSts(manPakOut.getWrkSts());
+ out.setZpallet(manPakOut.getZpallet());
+ out.setAnfme(manPakOut.getAnfme());
+ out.setNodeId(manPakOut.getNodeId());
+ out.setLocNo(manPakOut.getLocNo());
+ out.setMatnr(manPakOut.getMatnr());
+ out.setMaktx(manPakOut.getMaktx());
+ out.setBatch(manPakOut.getBatch());
+ out.setStatus(manPakOut.getStatus());
+ boolean update =Cools.isEmpty(manPakOut.getBatch())? manPakOutService.update(out, new EntityWrapper<ManPakOut>()
+ .eq("wrk_no", manPakOut.getWrkNo())
+ .eq("matnr", manPakOut.getMatnr()))
+ :manPakOutService.update(out, new EntityWrapper<ManPakOut>()
+ .eq("wrk_no", manPakOut.getWrkNo())
+ .eq("matnr", manPakOut.getMatnr())
+ .eq("batch",manPakOut.getBatch()));
+ try {
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", manPakOut.getDocNum()));
+ List<ManPakOut> pakOuts = manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num", order.getOrderNo()));
+ if (Cools.isEmpty(pakOuts)){
+ return R.error("鏌ヨ鎷h揣鍗曟槑缁嗗け璐�");
+ }else {
+ Long settle = order.getSettle();
+ for (ManPakOut pakOut:pakOuts){
+ if (pakOut.getStatus()==0 || pakOut.getStatus()==8){
+ order.setSettle(settle);
+ break;
+ }else {
+ order.setSettle(4L);
+ }
+ }
+ }
+ orderService.updateSettle(order.getId(),order.getSettle(),(long)9527);
+ }catch (Exception e){
+ return R.error("鏇存柊璁㈠崟鐘舵�佸け璐�");
+ }
+ return update? R.ok("鏇存柊鎴愬姛") : R.error("鏇存柊澶辫触");
+ }
+
@RequestMapping("/manPakOut/notIssued")
public R notIssued(){
List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 1L).or().eq("settle", 2L));
@@ -107,6 +394,12 @@
return R.ok(orders1);
}
+ public static void main(String[] args) {
+ ManPakOutService bean = SpringUtils.getBean(ManPakOutService.class);
+ ManPakOut out = bean.selectOne(null);
+ System.out.println("JSON.toJSONString(out) = " + JSON.toJSONString(out));
+ }
+
@RequestMapping(value = "/ManPakOut/print/auth")
@ManagerAuth(memo = "璁㈠崟缂栫爜鎵撳嵃")
public R manPakOutPrint(@RequestParam(value = "param[]") String[] param) {
--
Gitblit v1.9.1