| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.jeesite.modules.mes.service;
- import java.util.List;
- import com.jeesite.modules.mes.erp.MesErpLineMaterialMapping;
- import com.jeesite.modules.mes.dao.MesDeviceDao;
- import com.jeesite.modules.mes.entity.MesDevice;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.service.CrudService;
- import com.jeesite.modules.mes.entity.MesBatchSn;
- import com.jeesite.modules.mes.dao.MesBatchSnDao;
- import java.util.ArrayList;
- import java.util.Date;
- /**
- * 批次码记录表Service
- * @author mes
- * @version 2024-04-12
- */
- @Service
- public class MesBatchSnService extends CrudService<MesBatchSnDao, MesBatchSn> {
- @Autowired
- private MesBatchSnDao mesBatchSnDao;
- public MesBatchSn findInfo(MesBatchSn mesBatchSn){
- return mesBatchSnDao.findInfo(mesBatchSn);
- }
- /**
- * 按物料编码查询待 ERP 入库的 MES 批次码(nums>0 且未入库)。
- */
- public List<MesBatchSn> findPendingInstockByMaterial(String materialNumber) {
- List<String> lineSnList = MesErpLineMaterialMapping.resolveLineSnList(materialNumber);
- if (lineSnList.isEmpty()) {
- return new ArrayList<>();
- }
- return mesBatchSnDao.findPendingInstockList(lineSnList);
- }
- /**
- * 按 ERP 生产入库单号查询绑定的 MES 批次码。
- */
- public List<MesBatchSn> findByErpInstockBillNo(String erpInstockBillNo) {
- if (erpInstockBillNo == null || erpInstockBillNo.trim().isEmpty()) {
- return new ArrayList<>();
- }
- MesBatchSn query = new MesBatchSn();
- query.setErpInstockBillNo(erpInstockBillNo.trim());
- return findList(query);
- }
- /**
- * 按主键批量加载批次码。
- */
- public List<MesBatchSn> findByIds(List<String> ids) {
- List<MesBatchSn> list = new ArrayList<>();
- if (ids == null) {
- return list;
- }
- for (String id : ids) {
- if (id == null || id.trim().isEmpty()) {
- continue;
- }
- MesBatchSn item = super.get(id.trim());
- if (item != null) {
- list.add(item);
- }
- }
- return list;
- }
- /**
- * ERP 入库成功后回写批次码状态。
- */
- @Transactional
- public void markInstocked(List<MesBatchSn> batches, String moBillNo, String moEntryId,
- String erpBillNo, String erpLotNumber, Date instockDate) {
- if (batches == null) {
- return;
- }
- for (MesBatchSn batch : batches) {
- if (batch == null) {
- continue;
- }
- batch.setInstockStatus("1");
- batch.setMoBillNo(moBillNo);
- batch.setMoEntryId(moEntryId);
- batch.setErpInstockBillNo(erpBillNo);
- batch.setErpLotNumber(erpLotNumber);
- batch.setErpInstockDate(instockDate);
- super.save(batch);
- }
- }
- /**
- * 获取单条数据
- * @param mesBatchSn
- * @return
- */
- @Override
- public MesBatchSn get(MesBatchSn mesBatchSn) {
- return super.get(mesBatchSn);
- }
-
- /**
- * 查询分页数据
- * @param mesBatchSn 查询条件
- * @param mesBatchSn.page 分页对象
- * @return
- */
- @Override
- public Page<MesBatchSn> findPage(MesBatchSn mesBatchSn) {
- return super.findPage(mesBatchSn);
- }
-
- /**
- * 查询列表数据
- * @param mesBatchSn
- * @return
- */
- @Override
- public List<MesBatchSn> findList(MesBatchSn mesBatchSn) {
- return super.findList(mesBatchSn);
- }
-
- /**
- * 保存数据(插入或更新)
- * @param mesBatchSn
- */
- @Override
- @Transactional
- public void save(MesBatchSn mesBatchSn) {
- super.save(mesBatchSn);
- }
-
- /**
- * 更新状态
- * @param mesBatchSn
- */
- @Override
- @Transactional
- public void updateStatus(MesBatchSn mesBatchSn) {
- super.updateStatus(mesBatchSn);
- }
-
- /**
- * 删除数据
- * @param mesBatchSn
- */
- @Override
- @Transactional
- public void delete(MesBatchSn mesBatchSn) {
- super.delete(mesBatchSn);
- }
-
- }
|