Commit a1ab9dbe zshaohui

1.工单详情导出修改

2.获取目的地bug修改
1 个父辈 c4d438d7
...@@ -402,7 +402,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { ...@@ -402,7 +402,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
// 设置文件名,并进行URL编码以防止中文乱码 // 设置文件名,并进行URL编码以防止中文乱码
fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
// 设置响应头,提示浏览器以下载文件的形式处理响应内容 // 设置响应头,提示浏览器以下载文件的形式处理响应内容
response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + fileName + ".txt"); response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + fileName + ".csv");
// 假设这是您要导出的数据 // 假设这是您要导出的数据
List<String> dataToExport = new ArrayList<>(); List<String> dataToExport = new ArrayList<>();
......
...@@ -369,6 +369,9 @@ public class OrderController { ...@@ -369,6 +369,9 @@ public class OrderController {
liteOrder = liteOrderManager.findByOrderNo(orderNo); liteOrder = liteOrderManager.findByOrderNo(orderNo);
} }
if (liteOrder != null) { if (liteOrder != null) {
OrderDto orderDto = toOrderDto(liteOrder);
List<List<String>> header = new ArrayList<>(); List<List<String>> header = new ArrayList<>();
Locale locale = request.getLocale(); Locale locale = request.getLocale();
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.lockName",locale,"工单号"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.lockName",locale,"工单号")));
...@@ -384,6 +387,10 @@ public class OrderController { ...@@ -384,6 +387,10 @@ public class OrderController {
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outNum",locale,"已出数量"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outNum",locale,"已出数量")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.out.barcode",locale,"出库物料详情"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.out.barcode",locale,"出库物料详情")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outLet",locale,"出料口"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outLet",locale,"出料口")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.exception",locale,"异常")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.safetyInventory.stockReel",locale,"库存盘数")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.safetyInventory.count",locale,"库存数量")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.noInventory",locale,"是否无库存")));
//附加字段 //附加字段
OrderSetting orderSetting=dataCache.getOrderSetting(); OrderSetting orderSetting=dataCache.getOrderSetting();
...@@ -395,10 +402,10 @@ public class OrderController { ...@@ -395,10 +402,10 @@ public class OrderController {
} }
} }
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.exception",locale,"异常")));
List<List<Object>> dataList = new ArrayList<>(); List<List<Object>> dataList = new ArrayList<>();
for (LiteOrderItem orderItem : liteOrder.getOrderItems()) { for (OrderItemDto orderItem : orderDto.getOrderItems()) {
List<Object> data = new ArrayList<>(); List<Object> data = new ArrayList<>();
data.add(orderNo); data.add(orderNo);
...@@ -447,6 +454,20 @@ public class OrderController { ...@@ -447,6 +454,20 @@ public class OrderController {
} }
String exception=exc?MessageUtils.getText("smfcore.order.yes",locale,"是"):""; String exception=exc?MessageUtils.getText("smfcore.order.yes",locale,"是"):"";
data.add(exception); data.add(exception);
data.add(orderItem.getInventoryReelCount());
data.add(orderItem.getInventoryQty());
boolean noInventory = false;
if(orderItem.getInventoryQty()<orderItem.getNeedNum()){
noInventory=true;
}
if(orderItem.getInventoryReelCount()<orderItem.getOutReelCount()){
noInventory=true;
}
String noInventoryStr=noInventory?MessageUtils.getText("smfcore.order.yes",locale,"是"):"";
data.add(noInventoryStr);
dataList.add(data); dataList.add(data);
} }
FileUtil.downloadTxtByConfig(liteOrder.getOrderNo(), header,dataList,response); FileUtil.downloadTxtByConfig(liteOrder.getOrderNo(), header,dataList,response);
......
...@@ -85,4 +85,6 @@ public class OrderItemDto { ...@@ -85,4 +85,6 @@ public class OrderItemDto {
* 出库清单列表 * 出库清单列表
*/ */
private List<Barcode> outBarcodeList = new ArrayList<>(); private List<Barcode> outBarcodeList = new ArrayList<>();
private String barcodeStr = "";
} }
...@@ -376,7 +376,7 @@ public class JkemController { ...@@ -376,7 +376,7 @@ public class JkemController {
barcode = codeBean.getBarcode(); barcode = codeBean.getBarcode();
} }
} }
if (barcode == null){ if (barcode == null) {
barcode = codeResolve.resolveOneValideBarcode(barcodeStr); barcode = codeResolve.resolveOneValideBarcode(barcodeStr);
} }
...@@ -411,9 +411,9 @@ public class JkemController { ...@@ -411,9 +411,9 @@ public class JkemController {
log.info(dataLog.getBarcode() + "手动出库获取出料口信息为:" + ""); log.info(dataLog.getBarcode() + "手动出库获取出料口信息为:" + "");
resultMap.put("export", ""); resultMap.put("export", "");
} }
resultMap.put("height", codeBean.getBarcode().getHeight()); resultMap.put("height", barcode.getHeight());
resultMap.put("plateSize", codeBean.getBarcode().getPlateSize()); resultMap.put("plateSize", barcode.getPlateSize());
resultMap.put("barcode", codeBean.getBarcode().getBarcode()); resultMap.put("barcode", barcode.getBarcode());
resultMap.put("side", "B"); resultMap.put("side", "B");
} }
} }
...@@ -634,6 +634,7 @@ public class JkemController { ...@@ -634,6 +634,7 @@ public class JkemController {
if (!OP_STATUS.FINISHED.name().equals(status) && !OP_STATUS.CANCEL.name().equals(status)){ if (!OP_STATUS.FINISHED.name().equals(status) && !OP_STATUS.CANCEL.name().equals(status)){
String feederInfo = detail.getFeederInfo(); String feederInfo = detail.getFeederInfo();
if (feederInfo.startsWith(feeder)){ if (feederInfo.startsWith(feeder)){
log.info(detail.getBarcode()+"站位号为:"+feederInfo+",对应的出料口为:"+export.getExportName()+",任务未结束");
count ++; count ++;
} }
} }
......
...@@ -65,13 +65,12 @@ public class PartNumberController { ...@@ -65,13 +65,12 @@ public class PartNumberController {
//根据供应商的pn,查询是否存在,修改 //根据供应商的pn,查询是否存在,修改
for (MJPartNumber mjPartNumber : partNumberList) { for (MJPartNumber mjPartNumber : partNumberList) {
MJPartNumber daMjPartNumber = partNumberManager.findByJkemPartNumber(mjPartNumber.getJkemPartNumber()); MJPartNumber daMjPartNumber = partNumberManager.findByMakerAndJkemPartNumber(mjPartNumber.getMakerPartNumber(),mjPartNumber.getJkemPartNumber());
if (daMjPartNumber == null){ if (daMjPartNumber == null){
partNumberManager.save(mjPartNumber); partNumberManager.save(mjPartNumber);
} else { } else {
if (!mjPartNumber.getMakerPartNumber().equals(daMjPartNumber.getMakerPartNumber()) if (
|| !mjPartNumber.getJkemPartNumber().equals(daMjPartNumber.getJkemPartNumber()) mjPartNumber.getMsd() != daMjPartNumber.getMsd()
|| mjPartNumber.getMsd() != daMjPartNumber.getMsd()
|| mjPartNumber.getPitch() != daMjPartNumber.getPitch() || mjPartNumber.getPitch() != daMjPartNumber.getPitch()
) { ) {
daMjPartNumber.setJkemPartNumber(mjPartNumber.getJkemPartNumber()); daMjPartNumber.setJkemPartNumber(mjPartNumber.getJkemPartNumber());
......
...@@ -8,7 +8,7 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -8,7 +8,7 @@ import org.springframework.data.mongodb.core.query.Query;
import java.util.List; import java.util.List;
public interface IPartNumberManager extends IBaseManager<MJPartNumber> { public interface IPartNumberManager extends IBaseManager<MJPartNumber> {
MJPartNumber findByMakerPartNumber(String makerPartNumber); MJPartNumber findByMakerAndJkemPartNumber(String makerPartNumber,String jkemPartNumber);
MJPartNumber findByJkemPartNumber(String makerPartNumber); MJPartNumber findByJkemPartNumber(String makerPartNumber);
......
...@@ -55,8 +55,8 @@ public class PartNumberManagerImpl implements IPartNumberManager { ...@@ -55,8 +55,8 @@ public class PartNumberManagerImpl implements IPartNumberManager {
} }
@Override @Override
public MJPartNumber findByMakerPartNumber(String makerPartNumber) { public MJPartNumber findByMakerAndJkemPartNumber(String makerPartNumber,String jkemPartNumber) {
return partNumberDao.findOne(new Query(Criteria.where("makerPartNumber").is(makerPartNumber))); return partNumberDao.findOne(new Query(Criteria.where("makerPartNumber").is(makerPartNumber).and("jkemPartNumber").is(jkemPartNumber)));
} }
@Override @Override
......
...@@ -399,3 +399,4 @@ smfcore.barcode.checkAmount.error=\u70B9\u6599\u6570\u91CF[{0}]\u5927\u4E8E\u5B9 ...@@ -399,3 +399,4 @@ smfcore.barcode.checkAmount.error=\u70B9\u6599\u6570\u91CF[{0}]\u5927\u4E8E\u5B9
smfcore.order.outLet=\u51FA\u6599\u53E3 smfcore.order.outLet=\u51FA\u6599\u53E3
smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E
smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76D8\u7684\u6599\u76D8\u4E3A[{0}],\u72B6\u6001\u4E3A[{1}],\u5BF9\u5E94\u7684feeder\u4E3A[{2}],\u4E0D\u5141\u8BB8\u653E\u5230\u76AE\u5E26\u7EBF\u4E0A smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76D8\u7684\u6599\u76D8\u4E3A[{0}],\u72B6\u6001\u4E3A[{1}],\u5BF9\u5E94\u7684feeder\u4E3A[{2}],\u4E0D\u5141\u8BB8\u653E\u5230\u76AE\u5E26\u7EBF\u4E0A
smfcore.order.noInventory=\u662F\u5426\u65E0\u5E93\u5B58
...@@ -389,4 +389,5 @@ smfcore.materialBox.differentPn.continue=The material number corresponding to th ...@@ -389,4 +389,5 @@ smfcore.materialBox.differentPn.continue=The material number corresponding to th
smfcore.barcode.checkAmount.error=The counted material quantity [{0}] exceeds the actual fixture quantity [{1}] smfcore.barcode.checkAmount.error=The counted material quantity [{0}] exceeds the actual fixture quantity [{1}]
smfcore.order.outLet=outLet smfcore.order.outLet=outLet
smfcore.umConfig=Outlet Configuration smfcore.umConfig=Outlet Configuration
smf.barcode.cannotPutInLine=smf.barcode.cannotPutInLine = The previous tray is [{0}], its status is [{1}], and the corresponding feeder is [{2}]. It is not allowed to be placed on the conveyor line.
\ No newline at end of file \ No newline at end of file
smf.barcode.cannotPutInLine=smf.barcode.cannotPutInLine = The previous tray is [{0}], its status is [{1}], and the corresponding feeder is [{2}]. It is not allowed to be placed on the conveyor line.
smfcore.order.noInventory=Is Inventory Unavailable
\ No newline at end of file \ No newline at end of file
...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u306B\u5BFE\u5FDC\u3059\u3 ...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u306B\u5BFE\u5FDC\u3059\u3
smfcore.barcode.checkAmount.error=\u30AB\u30A6\u30F3\u30C8\u3055\u308C\u305F\u6750\u6599\u6570[{0}]\u306F\u5B9F\u969B\u306E\u6CBB\u5177\u6570[{1}]\u3092\u8D85\u3048\u3066\u3044\u307E\u3059 smfcore.barcode.checkAmount.error=\u30AB\u30A6\u30F3\u30C8\u3055\u308C\u305F\u6750\u6599\u6570[{0}]\u306F\u5B9F\u969B\u306E\u6CBB\u5177\u6570[{1}]\u3092\u8D85\u3048\u3066\u3044\u307E\u3059
smfcore.order.outLet=\u306F\u3044\u3057\u3085\u3064\u3053\u3046 smfcore.order.outLet=\u306F\u3044\u3057\u3085\u3064\u3053\u3046
smfcore.umConfig=\u6392\u51FA\u53E3\u306E\u914D\u7F6E smfcore.umConfig=\u6392\u51FA\u53E3\u306E\u914D\u7F6E
smf.barcode.cannotPutInLine=\u524D\u306E\u30C8\u30EC\u30A4\u306F[{0}]\u3067\u3001\u30B9\u30C6\u30FC\u30BF\u30B9\u306F[{1}]\u3067\u3001\u5BFE\u5FDC\u3059\u308B\u30D5\u30A3\u30FC\u30C0\u30FC\u306F[{2}]\u3067\u3059\u3002\u30B3\u30F3\u30D9\u30E4\u30FC\u30E9\u30A4\u30F3\u306B\u8A2D\u7F6E\u3059\u308B\u3053\u3068\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093
\ No newline at end of file \ No newline at end of file
smf.barcode.cannotPutInLine=\u524D\u306E\u30C8\u30EC\u30A4\u306F[{0}]\u3067\u3001\u30B9\u30C6\u30FC\u30BF\u30B9\u306F[{1}]\u3067\u3001\u5BFE\u5FDC\u3059\u308B\u30D5\u30A3\u30FC\u30C0\u30FC\u306F[{2}]\u3067\u3059\u3002\u30B3\u30F3\u30D9\u30E4\u30FC\u30E9\u30A4\u30F3\u306B\u8A2D\u7F6E\u3059\u308B\u3053\u3068\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093
smfcore.order.noInventory=\u5728\u5EAB\u306A\u3057\u304B
\ No newline at end of file \ No newline at end of file
...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u5BF9\u5E94\u7684\u6599\u5 ...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u5BF9\u5E94\u7684\u6599\u5
smfcore.barcode.checkAmount.error=\u70B9\u6599\u6570\u91CF[{0}]\u5927\u4E8E\u5B9E\u9645\u6CBB\u5177\u6570\u91CF[{1}] smfcore.barcode.checkAmount.error=\u70B9\u6599\u6570\u91CF[{0}]\u5927\u4E8E\u5B9E\u9645\u6CBB\u5177\u6570\u91CF[{1}]
smfcore.order.outLet=\u51FA\u6599\u53E3 smfcore.order.outLet=\u51FA\u6599\u53E3
smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E
smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76D8\u7684\u6599\u76D8\u4E3A[{0}],\u72B6\u6001\u4E3A[{1}],\u5BF9\u5E94\u7684feeder\u4E3A[{2}],\u4E0D\u5141\u8BB8\u653E\u5230\u76AE\u5E26\u7EBF\u4E0A
\ No newline at end of file \ No newline at end of file
smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76D8\u7684\u6599\u76D8\u4E3A[{0}],\u72B6\u6001\u4E3A[{1}],\u5BF9\u5E94\u7684feeder\u4E3A[{2}],\u4E0D\u5141\u8BB8\u653E\u5230\u76AE\u5E26\u7EBF\u4E0A
smfcore.order.noInventory=\u662F\u5426\u65E0\u5E93\u5B58
\ No newline at end of file \ No newline at end of file
...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u5C0D\u61C9\u7684\u6599\u8 ...@@ -385,4 +385,5 @@ smfcore.materialBox.differentPn.continue=\u6CBB\u5177\u5C0D\u61C9\u7684\u6599\u8
smfcore.barcode.checkAmount.error=\u9EDE\u6599\u6578\u91CF[{0}]\u5927\u65BC\u5BE6\u969B\u6CBB\u5177\u6578\u91CF[{1}] smfcore.barcode.checkAmount.error=\u9EDE\u6599\u6578\u91CF[{0}]\u5927\u65BC\u5BE6\u969B\u6CBB\u5177\u6578\u91CF[{1}]
smfcore.order.outLet=\u51FA\u6599\u53E3 smfcore.order.outLet=\u51FA\u6599\u53E3
smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E smfcore.umConfig=\u51FA\u6599\u53E3\u914D\u7F6E
smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76E4\u7684\u6599\u76E4\u70BA[{0}]\uFF0C\u72C0\u614B\u70BA[{1}]\uFF0C\u5C0D\u61C9\u7684feeder\u70BA[{2}]\uFF0C\u4E0D\u5141\u8A31\u653E\u5230\u76AE\u5E36\u7DDA\u4E0A
\ No newline at end of file \ No newline at end of file
smf.barcode.cannotPutInLine=\u4E0A\u4E00\u76E4\u7684\u6599\u76E4\u70BA[{0}]\uFF0C\u72C0\u614B\u70BA[{1}]\uFF0C\u5C0D\u61C9\u7684feeder\u70BA[{2}]\uFF0C\u4E0D\u5141\u8A31\u653E\u5230\u76AE\u5E36\u7DDA\u4E0A
smfcore.order.noInventory=\u662F\u5426\u7121\u5EAB\u5B58
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!