Commit 9f353c5f sunke

工单详情导出

1 个父辈 7e791420
...@@ -262,8 +262,8 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { ...@@ -262,8 +262,8 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
//String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20"); fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
fileName = SYS_TEM_DIR + fileName + ".xlsx"; //fileName = SYS_TEM_DIR + fileName + ".xlsx";
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream()).sheet("Sheet1").head(headers).doWrite(datas); EasyExcel.write(response.getOutputStream()).sheet("Sheet1").head(headers).doWrite(datas);
} }
......
...@@ -330,6 +330,7 @@ public class DeviceController { ...@@ -330,6 +330,7 @@ public class DeviceController {
DeviceMessageUtil.updateLineMsg(lineMsg,code,cids,"","",null ); DeviceMessageUtil.updateLineMsg(lineMsg,code,cids,"","",null );
} else { } else {
lineMsg = okMsg; lineMsg = okMsg;
DeviceMessageUtil.lastLineMsg = null;
} }
return resultMap; return resultMap;
} }
......
...@@ -29,15 +29,15 @@ public class DeviceMessageUtil { ...@@ -29,15 +29,15 @@ public class DeviceMessageUtil {
@Autowired @Autowired
public void setDataCache(DataCache dataCache) { public void setDataCache(DataCache dataCache) {
this.dataCache = dataCache; DeviceMessageUtil.dataCache = dataCache;
} }
@Autowired @Autowired
public void setEquipmentCache(EquipmentCache equipmentCache) { public void setEquipmentCache(EquipmentCache equipmentCache) {
this.equipmentCache = equipmentCache; DeviceMessageUtil.equipmentCache = equipmentCache;
} }
@Autowired @Autowired
public void setMessageManager(IMessageManager messageManager) { public void setMessageManager(IMessageManager messageManager) {
this.messageManager = messageManager; DeviceMessageUtil.messageManager = messageManager;
} }
/** /**
......
...@@ -60,6 +60,8 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -60,6 +60,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.DateFormat; import java.text.DateFormat;
...@@ -275,7 +277,7 @@ public class OrderController { ...@@ -275,7 +277,7 @@ public class OrderController {
} }
@ApiOperation("工单详情") @ApiOperation("工单详情")
@GetMapping("/detial/download") @RequestMapping("/detial/download")
@PreAuthorize("@el.check('workOrder:detial')") @PreAuthorize("@el.check('workOrder:detial')")
@AnonymousAccess @AnonymousAccess
public void detialDownload(@RequestParam(required = false) String id, @RequestParam(required = false) String orderNo, HttpServletResponse response, HttpServletRequest request) throws IOException { public void detialDownload(@RequestParam(required = false) String id, @RequestParam(required = false) String orderNo, HttpServletResponse response, HttpServletRequest request) throws IOException {
...@@ -290,40 +292,32 @@ public class OrderController { ...@@ -290,40 +292,32 @@ public class OrderController {
if (liteOrder != null) { if (liteOrder != null) {
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.barcode",locale,"条码编号"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.ri",locale,"RI")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.partNumber",locale,"物料编号"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.pn",locale,"PN")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.proDate",locale,"生产日期"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.side",locale,"面别")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.expireDate",locale,"过期时间"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.tableNo",locale,"台车号")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.posName",locale,"库位号"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.feederInfo",locale,"站位信息")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.lockName",locale,"工单号"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.needReelCount",locale,"需求盘数")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.amount",locale,"数量"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outReelCount",locale,"已出盘数")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.putInTime",locale,"首次入库时间"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.needNum",locale,"需求数量")));
header.add(Lists.newArrayList(MessageUtils.getText("smfcore.storagePos.putInDate",locale,"入库时间"))); header.add(Lists.newArrayList(MessageUtils.getText("smfcore.order.outNum",locale,"已出数量")));
List<List<Object>> dataList = new ArrayList<>(); List<List<Object>> dataList = new ArrayList<>();
// for (LiteOrderItem orderItem : liteOrder.getOrderItems()) { for (LiteOrderItem orderItem : liteOrder.getOrderItems()) {
// orderItem.getClass().getField()
// String proDate = pos.getBarcode().getProduceDate() == null ? "" : dateFormat.format(pos.getBarcode().getProduceDate()); List<Object> data = new ArrayList<>();
// String expireDate = pos.getBarcode().getExpireDate() == null ? "" : dateFormat.format(pos.getBarcode().getExpireDate()); data.add(orderItem.getRi());
// data.add(orderItem.getPn());
// String putInTime = (pos.getBarcode().getPutInTime() == -1) ? "" : dateFormat.format(new Date(pos.getBarcode().getPutInTime())); data.add(orderItem.getSide());
// if(ObjectUtil.isNotEmpty(putInTime)){ data.add(orderItem.getTableNo());
// putInTime=dateFormat.format(pos.getBarcode().getPutInDate()); data.add(orderItem.getFeederInfo());
// } data.add(orderItem.getNeedReelCount());
// data.add(orderItem.getOutReelCount());
// List<Object> data = new ArrayList<>(); data.add(orderItem.getNeedNum());
// data.add(pos.getBarcode().getBarcode()); data.add(orderItem.getOutNum());
// data.add(pos.getBarcode().getPartNumber()); dataList.add(data);
// data.add(proDate); }
// data.add(expireDate);
// data.add(pos.getPosName());
// data.add(pos.getBarcode().getLockName());
// data.add(pos.getBarcode().getAmount());
// data.add(putInTime);
// data.add(dateFormat.format(pos.getBarcode().getPutInDate()));
// dataList.add(data);
// }
FileUtil.downloadExcel(liteOrder.getOrderNo(), header,dataList,response); FileUtil.downloadExcel(liteOrder.getOrderNo(), header,dataList,response);
} }
} }
...@@ -571,4 +565,37 @@ public class OrderController { ...@@ -571,4 +565,37 @@ public class OrderController {
return ResultBean.newOkResult(dto); return ResultBean.newOkResult(dto);
} }
public static void main(String[] args) {
Barcode barcode = new Barcode();
barcode.setBarcode("AAAA");
StoragePos pos = new StoragePos();
pos.setPosName("111");
pos.setBarcode(barcode);
String filed = "posNames";
System.out.println(getFieldValue(filed,pos));
}
private static Object getFieldValue(String filedName, Object bean){
try {
int index = filedName.indexOf(".");
if(index >0){
String field = filedName.substring(0,index);
Object obj = getFieldValue(field,bean);
if(obj == null){
return null;
}
String remainField = filedName.substring(index+1);
return getFieldValue(remainField, obj);
}else{
PropertyDescriptor pd = new PropertyDescriptor(filedName,bean.getClass());
Object obj = pd.getReadMethod().invoke(bean);
return obj;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
} }
...@@ -135,7 +135,7 @@ public class StoragePosController { ...@@ -135,7 +135,7 @@ public class StoragePosController {
} }
} }
} }
dataCache.removeStorage(storage);
log.info("开始删除料仓[" + cid + "] 所有位置"); log.info("开始删除料仓[" + cid + "] 所有位置");
storagePosManager.removePosByStorageId(storage.getId()); storagePosManager.removePosByStorageId(storage.getId());
log.info("删除料仓[" + cid + "] 所有位置完成"); log.info("删除料仓[" + cid + "] 所有位置完成");
...@@ -176,6 +176,7 @@ public class StoragePosController { ...@@ -176,6 +176,7 @@ public class StoragePosController {
} }
} }
dataCache.reloadStorage(storage, storage.getCid());
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
...@@ -200,7 +201,10 @@ public class StoragePosController { ...@@ -200,7 +201,10 @@ public class StoragePosController {
String opUser = SecurityUtils.getCurrentUsername(); String opUser = SecurityUtils.getCurrentUsername();
log.info(opUser + "清理库位[" + storagePos.getPosName() + "]中的库存" + barcode.getBarcode()); log.info(opUser + "清理库位[" + storagePos.getPosName() + "]中的库存" + barcode.getBarcode());
taskService.addTaskToFinished(storagePos, null, opUser + "-clear"); taskService.addTaskToFinished(storagePos, null, opUser + "-clear");
Storage storage = dataCache.getStorageById(storagePos.getStorageId());
dataCache.reloadStorage(storage, storage.getCid());
} }
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} catch (Exception e) { } catch (Exception e) {
// return e.getMessage(); // return e.getMessage();
......
...@@ -149,6 +149,12 @@ public class TianTongApi extends BaseSmfApiListener { ...@@ -149,6 +149,12 @@ public class TianTongApi extends BaseSmfApiListener {
DEV_ID = storage.getName(); DEV_ID = storage.getName();
break; break;
} }
if(Strings.isBlank(DEV_ID)){
Storage storage = dataCache.getStorageById(params.getStorageId());
if(storage != null){
DEV_ID = storage.getName();
}
}
paramMap.put("DEV_ID", DEV_ID); paramMap.put("DEV_ID", DEV_ID);
try { try {
log.info(barcode.getBarcode() + "入库验证,参数" + JsonUtil.toJsonStr(paramMap)); log.info(barcode.getBarcode() + "入库验证,参数" + JsonUtil.toJsonStr(paramMap));
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!