From ed72baa5f60f2d86cc58799ce96c658321a54d79 Mon Sep 17 00:00:00 2001 From: 王佳豪 <g675230687@126.com> Date: 星期五, 30 四月 2021 13:53:54 +0800 Subject: [PATCH] 1.erp立库出库对接 2.erp平仓出库对接 --- src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 107 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java index 0451917..1d9ec03 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java @@ -3,17 +3,31 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.core.common.Cools; import com.zy.asrs.entity.LocNormal; import com.zy.asrs.mapper.LocNormalMapper; +import com.zy.asrs.mapper.OutStockMapper; import com.zy.asrs.service.LocNormalService; +import com.zy.common.service.erp.ErpSqlServer; +import com.zy.common.service.erp.entity.CPICMO; +import com.zy.common.service.erp.entity.OutStockBillEntry; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; +@Slf4j @Service("locNormalService") public class LocNormalServiceImpl extends ServiceImpl<LocNormalMapper, LocNormal> implements LocNormalService { + @Autowired + ErpSqlServer erpSqlServer; + @Autowired + OutStockMapper outStockMapper; @Override public List<LocNormal> getLocNormalData() { @@ -21,23 +35,63 @@ } @Override - public void updateLocNormal(String matnr, BigDecimal anfme, Long modiUser, Date modiTime) { - baseMapper.updateLocNormal(matnr, anfme, modiUser, modiTime); + public void updateLocNormal(String matnr, BigDecimal anfme, Long modiUser, Date modiTime, Integer id) { + baseMapper.updateLocNormal(matnr, anfme, modiUser, modiTime, id); } @Override - public void outLocNormal(String matnr, Long modiUser, Date modiTime) { - baseMapper.outLocNormal(matnr, modiUser, modiTime); + public void outLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) { + baseMapper.outLocNormal(matnr, modiUser, modiTime, id); } @Override - public void removeLocNormal(String matnr, Long modiUser, Date modiTime) { - baseMapper.removeLocNormal(matnr, modiUser, modiTime); + public void removeLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) { + baseMapper.removeLocNormal(matnr, modiUser, modiTime, id); } @Override public void locNormalIn(List<LocNormal> list) { + // 骞充粨鍏ュ簱鍚庢洿鏂颁腑闂磋〃鏁版嵁锛孎flag_finish鏀逛负1锛岃〃绀哄钩浠撳叆搴撴垚鍔� + if (list.size() > 0) { + for (Integer i = 0; i < list.size(); i++) { + if (!Cools.isEmpty(list.get(i).getSupplier())) { // 瀛樺湪鍏ュ簱鍗曞彿鐨勬墠杩涜erp鏇存柊 + String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''"; + sql = MessageFormat.format(sql, list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getSupplier()); + if (erpSqlServer.update(sql) > 0) { + sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''"; + sql = MessageFormat.format(sql, list.get(i).getMatnr(), list.get(i).getSupplier()); + List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class); + CPICMO cpicmo = select.get(0); + boolean complete = false; + if (cpicmo.getFQty() > 0) { + if (cpicmo.getFAuxCommitQty() >= cpicmo.getFQty()) { + complete = true; + } + } else { + if (cpicmo.getFAuxCommitQty() >= cpicmo.getFAuxQty()) { + complete = true; + } + } + if (complete) { + if (!completeCPakIn(list.get(i).getSupplier(), list.get(i).getMatnr())) { + log.error("{}骞充粨鍏ュ簱鍗曟爣璁板畬鎴愬け璐�", list.get(i).getSupplier()); + } + } + } + } + } + } + // 骞充粨鍏ュ簱閫昏緫 baseMapper.locNormalIn(list); + } + + /** + * 鎴愬搧鍏ュ簱鍗曟爣璁板畬鎴� + */ + private boolean completeCPakIn(String FBillNo, String Fnumber){ + String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''"; + sql = MessageFormat.format(sql, FBillNo, Fnumber); + return erpSqlServer.update(sql) > 0; } @Override @@ -46,8 +100,8 @@ } @Override - public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse) { - return baseMapper.pdaLocNormalQuery(matnr, warehouse); + public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse, String billNo) { + return baseMapper.pdaLocNormalQuery(matnr, warehouse, billNo); } @Override @@ -62,4 +116,49 @@ } } } + + @Override + public List<LocNormal> pdaLocNormalWarehouseQuery(String warehouse, String matnr) { + return baseMapper.pdaLocNormalWarehouseQuery(warehouse, matnr); + } + + @Override + public void pdaLocNormalMove(List<LocNormal> list) { + baseMapper.pdaLocNormalMove(list); + } + + @Override + public List<LocNormal> queryLocNorlMatnr(String fbillNo) { + List<OutStockBillEntry> matList = outStockMapper.queryMatnrWithBillNo(fbillNo); + List<LocNormal> locNormal = new ArrayList<>(); + List<LocNormal> locNormalResult = new ArrayList<>(); + for (Integer i = 0; i < matList.size(); i++) { + locNormal = baseMapper.queryLocNorlMatnr(matList.get(i).getFnumber()) ; + if (locNormal.size() > 0) { + for (LocNormal e:locNormal) { + LocNormal obj = new LocNormal(); + obj.setMatnr(e.getMatnr()); + obj.setMaktx(e.getMaktx()); + obj.setLgnum(e.getLgnum()); + obj.setType(e.getType()); + obj.setMnemonic(e.getMnemonic()); + obj.setSupplier(e.getSupplier()); + obj.setWarehouse(e.getWarehouse()); + obj.setBrand(e.getBrand()); + obj.setAnfme(e.getAnfme()); + obj.setBname(e.getBname()); + obj.setMemo(e.getMemo()); + obj.setModiUser(e.getModiUser()); + obj.setModiTime(e.getModiTime()); + obj.setAppeUser(e.getAppeUser()); + obj.setAppeTime(e.getAppeTime()); + obj.setState(e.getState()); + obj.setWarehouseName(e.getWarehouseName()); + obj.setId(e.getId()); + locNormalResult.add(obj); + } + } + } + return locNormalResult; + } } -- Gitblit v1.9.1