Commit 9f353c5f sunke

工单详情导出

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