Commit 9721d0c5 LN

SO1584Xray,手动点料后打印信息上传到smf.

1 个父辈 3f07527a
package com.neotel.smfcore.core.xRay.rest;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.equipment.util.bean.EquipConfigInfo;
import com.neotel.smfcore.core.xRay.service.manager.IXrayPrintDataManager;
import com.neotel.smfcore.core.xRay.service.po.XrayPrintData;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("service/equipment/xRay")
public class XrayPrintDataController {
@Autowired
private IXrayPrintDataManager xrayPrintDataManager;
@Autowired
private CodeResolve codeResolve;
@ApiOperation("上传打印参数")
@PostMapping("/uploadMResult")
@AnonymousAccess
public ResultBean uploadMResult(@RequestBody Map<String,String> paramMap) {
String reelId=paramMap.get("reelId");
String fullCode=paramMap.get("fullCode");
String printParam=paramMap.get("printParam");
int qty=0;
if(paramMap.containsKey("qty")){
qty= Convert.toInt(paramMap.get("qty"));
}
if (ObjectUtil.isEmpty(reelId)) {
return ResultBean.newErrorResult(1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"reelId"});
}
if (ObjectUtil.isEmpty(fullCode)) {
return ResultBean.newErrorResult(1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"fullCode"});
}
if (ObjectUtil.isEmpty(printParam)) {
return ResultBean.newErrorResult(1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"printParam"});
}
XrayPrintData printData=new XrayPrintData(reelId,fullCode,qty,printParam);
log.info("uploadMResult: reelID="+reelId+",qty="+qty+",fullCode="+fullCode+",printParam="+printParam);
xrayPrintDataManager.save(printData);
return ResultBean.newOkResult("");
}
@ApiOperation("获取打印参数")
@PostMapping("/getMResult")
@AnonymousAccess
public ResultBean getMResult(@RequestBody Map<String,String> paramMap) {
String barcodeStr = paramMap.get("barcodes");
if (ObjectUtil.isEmpty(barcodeStr)) {
return ResultBean.newErrorResult(1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"barcodes"});
}
XrayPrintData data = xrayPrintDataManager.findByReelID(barcodeStr);
if (data == null) {
//解析条码
Barcode barcode = codeResolve.resolveOneValideBarcode(barcodeStr);
if (barcode != null) {
data = xrayPrintDataManager.findByReelID(barcodeStr);
}
}
if (data != null) {
return ResultBean.newOkResult(data);
}
return ResultBean.newErrorResult(-1, "", "not find data");
}
}
package com.neotel.smfcore.core.xRay.service.dao;
import com.neotel.smfcore.common.base.IBaseDao;
public interface IXrayPrintDataDao extends IBaseDao {
}
package com.neotel.smfcore.core.xRay.service.dao.impl;
import com.neotel.smfcore.common.base.AbstractBaseDao;
import com.neotel.smfcore.core.xRay.service.dao.IXrayPrintDataDao;
import com.neotel.smfcore.core.xRay.service.po.XrayPrintData;
import org.springframework.stereotype.Service;
@Service
public class XrayPrintDataDaoImpl extends AbstractBaseDao implements IXrayPrintDataDao {
@Override
public Class getEntityClass() {
return XrayPrintData.class;
}
}
package com.neotel.smfcore.core.xRay.service.manager;
import com.neotel.smfcore.common.base.IBaseManager;
import com.neotel.smfcore.core.xRay.service.po.XrayPrintData;
public interface IXrayPrintDataManager extends IBaseManager<XrayPrintData> {
public XrayPrintData findByReelID(String reelID);
}
package com.neotel.smfcore.core.xRay.service.manager.impl;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.core.xRay.service.dao.IXrayPrintDataDao;
import com.neotel.smfcore.core.xRay.service.manager.IXrayPrintDataManager;
import com.neotel.smfcore.core.xRay.service.po.XrayPrintData;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class XrayPrintDataManagerImpl implements IXrayPrintDataManager {
@Autowired
private IXrayPrintDataDao xrayPrintDataDao;
@Override
public XrayPrintData get(String id) {
return xrayPrintDataDao.findOneById(id);
}
@Override
public XrayPrintData save(XrayPrintData object) throws ValidateException {
Query query=new Query(Criteria.where("reelId").is(object.getReelId()));
XrayPrintData obj= xrayPrintDataDao.findOne(query);
if(obj!=null){
object.setId(obj.getId());
}
return xrayPrintDataDao.save(object);
}
@Override
public void delete(XrayPrintData object) throws ValidateException {
xrayPrintDataDao.removeOneById(object.getId());
}
@Override
public PageData<XrayPrintData> findByPage(Query query, Pageable pageable) {
int totalCount = xrayPrintDataDao.countByQuery(query);
List<XrayPrintData> list= xrayPrintDataDao.findByQuery(query,pageable);
return new PageData<XrayPrintData>(list,totalCount );
}
@Override
public List<XrayPrintData> findByQuery(Query query) {
return xrayPrintDataDao.findByQuery(query);
}
@Override
public XrayPrintData findByReelID(String reelID) {
Query query = new Query(Criteria.where("reelId").is(reelID));
return xrayPrintDataDao.findOne(query);
}
}
package com.neotel.smfcore.core.xRay.service.po;
import com.neotel.smfcore.common.base.BasePo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
@Data
@Document
@AllArgsConstructor
@NoArgsConstructor
public class XrayPrintData extends BasePo implements Serializable {
/**
* 唯一码
*/
private String reelId;
/**
* 完整条码
*/
private String fullCode;
/**
* 数量
*/
private int qty;
/**
* 打印参数字符串
*/
private String printParam;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!