| | |
| | | locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | } |
| | | } |
| | | if (locMast.getLocSts().equals("O")){ |
| | | locMast.setBarcode(""); |
| | | } |
| | | locMast.setModiUser(getUserId()); |
| | | locMast.setModiTime(new Date()); |
| | | locMastService.updateById(locMast); |
| | |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.InventoryCheckOrder; |
| | | import com.zy.asrs.entity.InventoryCheckOrderDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.service.*; |
| | |
| | | private OpenService openService; |
| | | |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | private MatService matService; |
| | | |
| | | @Autowired |
| | | private WorkService workService; |
| | | |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | |
| | | param.getDetails().forEach(elem -> { |
| | | list.add(new LocDetlAdjustParam.LocDetlAdjust(elem.getMatnr(), elem.getBatch(), elem.getActulQty(), elem.getDanger())); |
| | | }); |
| | | manLocDetlService.adjustLocDetl2(adjustParam, getUserId()); |
| | | workService.adjustLocDetl(adjustParam, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | @RequestBody CheckOrderParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | String orderNo = param.getOrderNo(); |
| | | long time = new Date().getTime(); |
| | | if (Cools.isEmpty(orderNo)) { |
| | | switch (param.getArea()) { |
| | | case "堆垛机": |
| | | orderNo = "DDJ" + time; |
| | | break; |
| | | case "四向库": |
| | | orderNo = "SXK" + time; |
| | | break; |
| | | case "CTU": |
| | | orderNo = "CTU" + time; |
| | | break; |
| | | } |
| | | param.setOrderNo(orderNo); |
| | | } |
| | | String orderNo = param.getInventoryCode(); |
| | | |
| | | int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo)); |
| | | if (count > 0) { |
| | |
| | | } |
| | | InventoryCheckOrder checkOrder = new InventoryCheckOrder(); |
| | | checkOrder.setOrderNo(orderNo); |
| | | checkOrder.setCreateBy(getUserId().toString()); |
| | | //checkOrder.setCreateBy(getUserId().toString()); |
| | | checkOrder.setCreateTime(new Date()); |
| | | checkOrder.setStatus("1"); |
| | | param.getDetails().forEach(elem -> { |
| | | checkOrder.setArea(param.getArea()); |
| | | Mat mat = matService.selectByMatnr(elem.getProductionCode()); |
| | | if (mat==null){ |
| | | throw new CoolException("物料不存在"); |
| | | } |
| | | //checkOrder.setArea(param.getArea()); |
| | | InventoryCheckOrderDetl detail = new InventoryCheckOrderDetl(); |
| | | detail.setMatnr(elem.getMatnr()); |
| | | detail.setBatch(elem.getBatch()); |
| | | detail.setMatnr(elem.getProductionCode()); |
| | | detail.setOrderNo(orderNo); |
| | | detail.setMaktx(mat.getMaktx()); |
| | | //detail.setBatch(elem.getBatch()); |
| | | inventoryCheckOrderDetlService.insert(detail); |
| | | }); |
| | | inventoryCheckOrderService.insert(checkOrder); |
| | |
| | | } |
| | | |
| | | public String getProfit$(){ |
| | | if (Cools.isEmpty(this.status) && !this.status.equals("1")){ |
| | | if (Cools.isEmpty(this.status) || !this.status.equals("1")){ |
| | | return "未盘点"; |
| | | } |
| | | if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){ |
| | |
| | | |
| | | @Data |
| | | public class CheckOrderParam implements Serializable { |
| | | private String orderNo; |
| | | private String area; |
| | | private String status; |
| | | private String inventoryCode; |
| | | private String inventoryStartTime; |
| | | private String inventoryName; |
| | | //private String status; |
| | | |
| | | private List<MatDto> details; |
| | | } |
| | |
| | | public class MatDto { |
| | | |
| | | // 物料编号 |
| | | private String productionCode; |
| | | |
| | | // 物料编号 |
| | | private String matnr; |
| | | |
| | | // 物料名称 |
| | |
| | | private String businessType; //业务类型 |
| | | private String user; //制单人 |
| | | private String quality; |
| | | private String fromOrderNo; //来源单号 |
| | | |
| | | private List<DetlDto> details; |
| | | |
| | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | |
| | | import java.util.List; |
| | |
| | | |
| | | List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo); |
| | | |
| | | void adjustLocDetl2(LocDetlAdjustParam param,String barcode, Long userId); |
| | | |
| | | |
| | | List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo); |
| | | } |
| | |
| | | |
| | | void adjustLocDetl(LocDetlAdjustParam param, Long userId); |
| | | |
| | | void adjustLocDetl2(LocDetlAdjustParam param, Long userId); |
| | | |
| | | |
| | | Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param); |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Node; |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.utils.SaasUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | @Service("locDetlService") |
| | | public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService { |
| | | |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | @Override |
| | | public Page<LocDetl> getPage(Page<LocDetl> page) { |
| | |
| | | } |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void adjustLocDetl2(LocDetlAdjustParam param, String barcode, Long userId) { |
| | | Date now = new Date(); |
| | | this.baseMapper.delete(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", param.getLocNo())); |
| | | for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) { |
| | | Mat mat = matService.selectOne(new EntityWrapper<Mat>() |
| | | .eq("matnr", locDetlAdjust.getMatnr())); |
| | | if (mat == null) { |
| | | throw new CoolException("无法找到需要调整的物料,请联系管理员"); |
| | | } |
| | | |
| | | LocDetl manLocDetl = new LocDetl(); |
| | | manLocDetl.sync(mat); |
| | | manLocDetl.setLocNo(param.getLocNo()); |
| | | manLocDetl.setZpallet(barcode); |
| | | manLocDetl.setAnfme(locDetlAdjust.getCount()); |
| | | manLocDetl.setBatch(locDetlAdjust.getBatch()); |
| | | manLocDetl.setBarcode(barcode); |
| | | manLocDetl.setDanger(locDetlAdjust.getDanger()); |
| | | SaasUtils.insertLog(3, manLocDetl.getLocNo(), manLocDetl.getMatnr(), manLocDetl.getAnfme()); |
| | | this.baseMapper.insert(manLocDetl); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public boolean updateLocNo(String newLocNo, String oldLocNo) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getSameDetlToday(String matnr,String batch, Integer start, Integer end) { |
| | | return this.baseMapper.selectSameDetlTodayBatch(matnr,batch, start, end); |
| | | public List<String> getSameDetlToday(String matnr, String batch, Integer start, Integer end) { |
| | | return this.baseMapper.selectSameDetlTodayBatch(matnr, batch, start, end); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos,String supp,String temp1,String temp2) { |
| | | return this.baseMapper.queryStock(matnr, batch, orderNo, locNos,supp,temp1,temp2); |
| | | public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos, String supp, String temp1, String temp2) { |
| | | return this.baseMapper.queryStock(matnr, batch, orderNo, locNos, supp, temp1, temp2); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockCrn(String matnr, String batch, String orderNo, Set<String> locNos,String supp,String temp1,String temp2) { |
| | | return this.baseMapper.queryStockCrn(matnr, batch, orderNo, locNos,supp,temp1,temp2); |
| | | public List<LocDetl> queryStockCrn(String matnr, String batch, String orderNo, Set<String> locNos, String supp, String temp1, String temp2) { |
| | | return this.baseMapper.queryStockCrn(matnr, batch, orderNo, locNos, supp, temp1, temp2); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockFour(String matnr, String batch, String orderNo, Set<String> locNos,String supp,String temp1,String temp2) { |
| | | return this.baseMapper.queryStockFour(matnr, batch, orderNo, locNos,supp,temp1,temp2); |
| | | public List<LocDetl> queryStockFour(String matnr, String batch, String orderNo, Set<String> locNos, String supp, String temp1, String temp2) { |
| | | return this.baseMapper.queryStockFour(matnr, batch, orderNo, locNos, supp, temp1, temp2); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockMinAnfme(String matnr, String batch, String orderNo, Set<String> locNos,String supp,String temp1,String temp2) { |
| | | return this.baseMapper.queryStockMinAnfme(matnr, batch, orderNo, locNos,supp,temp1,temp2); |
| | | public List<LocDetl> queryStockMinAnfme(String matnr, String batch, String orderNo, Set<String> locNos, String supp, String temp1, String temp2) { |
| | | return this.baseMapper.queryStockMinAnfme(matnr, batch, orderNo, locNos, supp, temp1, temp2); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void updateMatTurn(String matnrOld,String matnr){ |
| | | this.baseMapper.updateMatTurn(matnrOld,matnr); |
| | | public void updateMatTurn(String matnrOld, String matnr) { |
| | | this.baseMapper.updateMatTurn(matnrOld, matnr); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo) { |
| | | if (crnNo==1){ |
| | | if (crnNo == 1) { |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapY(crnNo); |
| | | } |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapN(crnNo); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo) { |
| | | if (crnNo==1){ |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr,batch,grade); |
| | | public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr, String batch, String grade, Integer crnNo) { |
| | | if (crnNo == 1) { |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr, batch, grade); |
| | | } |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr,batch,grade); |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr, batch, grade); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void adjustLocDetl2(LocDetlAdjustParam param, Long userId) { |
| | | Date now = new Date(); |
| | | this.baseMapper.delete(new EntityWrapper<ManLocDetl>() |
| | | .eq("loc_no", param.getLocNo())); |
| | | for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) { |
| | | Mat mat = matService.selectOne(new EntityWrapper<Mat>() |
| | | .eq("matnr", locDetlAdjust.getMatnr())); |
| | | if (mat == null) { |
| | | throw new CoolException("无法找到需要调整的物料,请联系管理员"); |
| | | } |
| | | Node node = nodeService.selectOne(new EntityWrapper<Node>() |
| | | .eq("uuid", param.getLocNo())); |
| | | if (node == null) { |
| | | throw new CoolException("无法找到需要调整的库位,请联系管理员"); |
| | | |
| | | } |
| | | ManLocDetl manLocDetl = new ManLocDetl(); |
| | | manLocDetl.setLocNo(param.getLocNo()); |
| | | manLocDetl.setNodeId(node.getId()); |
| | | manLocDetl.setZpallet(mat.getBarcode()); |
| | | manLocDetl.setAnfme(locDetlAdjust.getCount()); |
| | | manLocDetl.setMatnr(mat.getMatnr()); |
| | | manLocDetl.setMaktx(mat.getMaktx()); |
| | | manLocDetl.setName(mat.getName()); |
| | | manLocDetl.setSpecs(mat.getSpecs()); |
| | | manLocDetl.setModel(mat.getModel()); |
| | | manLocDetl.setBatch(locDetlAdjust.getBatch()); |
| | | manLocDetl.setUnit(mat.getUnit()); |
| | | manLocDetl.setBarcode(mat.getBarcode()); |
| | | manLocDetl.setPrice(mat.getPrice()); |
| | | manLocDetl.setDanger(locDetlAdjust.getDanger()); |
| | | SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme()); |
| | | this.baseMapper.insert(manLocDetl); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param) { |
| | |
| | | } |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.sync(mat); |
| | | waitPakin.setBatch(detlDto.getBatch()); |
| | | waitPakin.setSku(detlDto.getBatch()); |
| | | //waitPakin.setBatch(detlDto.getBatch()); |
| | | waitPakin.setZpallet(param.getBarcode()); // 托盘码 |
| | | waitPakin.setIoStatus("N"); // 入出状态 |
| | | waitPakin.setAnfme(detlDto.getAnfme()); // 数量 |
| | |
| | | Mat mat = matService.selectByMatnr(combMat.getMatnr()); |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(mat); |
| | | wrkDetl.setSku(combMat.getBatch()); |
| | | wrkDetl.setBatch(combMat.getBatch()); |
| | | wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | | wrkDetl.setOrderNo(param.getOrderNo()); |
| | |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | List<DetlDto> orderDetails = param.getDetails(); |
| | | for (DetlDto detail : orderDetails) { |
| | | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo() |
| | | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),param.getFromOrderNo() |
| | | , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4()); |
| | | dto.setTemp1(param.getQuality()); |
| | | if (DetlDto.has(list, dto)) { |
| | |
| | | if (Cools.isEmpty(locMast)) { |
| | | throw new CoolException("库位不存在"); |
| | | } |
| | | if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) { |
| | | if (!(locMast.getLocSts().equals("P") ||locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) { |
| | | throw new CoolException("当前库位不可调整!库位状态:" + locMast.getLocSts$()); |
| | | } |
| | | |
| | |
| | | } |
| | | locMast.setModiUser(userId); |
| | | locMast.setModiTime(now); |
| | | if (locMast.getLocSts().equals("O")){ |
| | | locMast.setBarcode(""); |
| | | } |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("更新库位状态失败"); |
| | | } |
| | |
| | | // 获取目标站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", wrkMast.getIoType() - 50) |
| | | .eq("stn_no", wrkMast.getStaNo()) // 作业站点 = 拣料出库的目标站 |
| | | .eq("stn_no", wrkMast.getSourceStaNo()) // 作业站点 = 拣料出库的目标站 |
| | | .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号 |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | if (Cools.isEmpty(staDesc)) { |
| | |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon"></i>提交ERP</button>--> |
| | | <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>提交ERP</button> |
| | | <button id="showFormBtn" class="layui-btn icon-btn" lay-submit> |
| | | <i class="layui-icon"></i>添加单据 |
| | | </button> |
| | | <!-- <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>提交ERP</button>--> |
| | | <!-- <button id="showFormBtn" class="layui-btn icon-btn" lay-submit>--> |
| | | <!-- <i class="layui-icon"></i>添加单据--> |
| | | <!-- </button>--> |
| | | </script> |
| | | |
| | | <!-- 行工具栏 --> |
| | |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-form"> |
| | | <div class="layui-btn-container"> |
| | | <span id="orderSpan">盘点单:</span> |
| | | <select id="orderSelect" lay-verify="required"> |
| | | <option value="">请选择单据</option> |
| | | </select> |
| | | <!-- <span id="orderSpan">盘点单:</span>--> |
| | | <!-- <select id="orderSelect" lay-verify="required">--> |
| | | <!-- <option value="">请选择单据</option>--> |
| | | <!-- </select>--> |
| | | <!-- 1.选择出库口 --> |
| | | <span id="staNoSpan">盘点站:</span> |
| | | <select id="staNoSelect" lay-verify="required"> |
| | |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-form"> |
| | | <div class="layui-btn-container"> |
| | | <span id="orderSpan">盘点单:</span> |
| | | <select id="orderSelect" lay-verify="required"> |
| | | <option value="">请选择单据</option> |
| | | </select> |
| | | <!-- <span id="orderSpan">盘点单:</span>--> |
| | | <!-- <select id="orderSelect" lay-verify="required">--> |
| | | <!-- <option value="">请选择单据</option>--> |
| | | <!-- </select>--> |
| | | <!-- 1.选择出库口 --> |
| | | <span id="staNoSpan">盘点站:</span> |
| | | <select id="staNoSelect" lay-verify="required"> |