package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.MatCode; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.WaitPakin; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.service.MatCodeService; import com.zy.asrs.service.MobileService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.WaitPakinService; import com.zy.asrs.utils.VersionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; /** * 移动端服务核心类 * Created by vincent on 2020/6/28 */ @Service public class MobileServiceImpl implements MobileService { @Autowired private MatCodeService matCodeService; @Autowired private WaitPakinService waitPakinService; @Autowired private OrderService orderService; @Override @Transactional public void comb(CombParam param, Long userId) { if (Cools.isEmpty(param.getBarcode()) || param.getCombMats().isEmpty()) { throw new CoolException(BaseRes.PARAM); } // 判断是否有相同条码的数据 if (waitPakinService.selectCount(new EntityWrapper(). eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { throw new CoolException("条码数据已存在"); } // 无单组托 if (Cools.isEmpty(param.getOrderNo())) { for (CombParam.CombMat combMat : param.getCombMats()) { MatCode matCode = matCodeService.selectById(combMat.getMatNo()); if (Cools.isEmpty(matCode)) { throw new CoolException("物料数据错误"); } WaitPakin waitPakin = new WaitPakin(); waitPakin.setZpallet(param.getBarcode()); // 托盘码 waitPakin.setStatus("Y"); // 状态 waitPakin.setAnfme(combMat.getCount()); // 数量 waitPakin.setIoStatus("N"); // 入出状态 waitPakin.setAppeUser(userId); waitPakin.setAppeTime(new Date()); waitPakin.setModiUser(userId); waitPakin.setModiTime(new Date()); VersionUtils.setWaitPakIn(waitPakin, matCode); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存数据失败"); } } // 关联组托 } else { Order order = orderService.selectByNo(param.getOrderNo()); if (order.getSettle() > 2) { throw new CoolException("单据编号已过期"); } } } }