diff --git a/src/main/java/com/gaotao/modules/shopOrder/controller/ShopOrderController.java b/src/main/java/com/gaotao/modules/shopOrder/controller/ShopOrderController.java index 61f573e..f8c8c7f 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/controller/ShopOrderController.java +++ b/src/main/java/com/gaotao/modules/shopOrder/controller/ShopOrderController.java @@ -14,11 +14,10 @@ import com.gaotao.modules.shopOrder.service.ShopOrderService; import com.gaotao.modules.sys.controller.AbstractController; import org.apache.commons.lang.StringUtils; 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 org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; @@ -596,7 +595,7 @@ public class ShopOrderController extends AbstractController { * @return * @Author sxm * @Description 获取 shoporder信息 - * @Date 2022/4/22 8:56 + * @Date 2024/09/04 16:04 * @Param shopOrderData **/ @PostMapping("shopNoticeSearch") @@ -607,5 +606,17 @@ public class ShopOrderController extends AbstractController { return R.ok().put("rows1", rows1).put("rows2", rows2).put("rows3", rows3); } - + /** + * @Description 下载文件 + * @Title downLoadObjectFile + * @param + * @author yjy + * @date 2024/09/04 16:04 + * @return R + * @throw + */ + @PostMapping(value = "/downLoadObjectFile") + public void downLoadObjectFile(@RequestParam("id") Integer id, HttpServletResponse response) throws UnsupportedEncodingException { + shopOrderService.downLoadObjectFile(id,response); + } } diff --git a/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java b/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java index 7438a36..64b033f 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java +++ b/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java @@ -385,4 +385,6 @@ public interface ShopOrderMapper { List getShopOrderSopSOBOM(ShopOrderData shopOrderData); SopViewData getOrderSopInfo(ShopOrderData shopOrderData); + + List getFileData(Integer id); } diff --git a/src/main/java/com/gaotao/modules/shopOrder/entity/ProductMixInShopOrder.java b/src/main/java/com/gaotao/modules/shopOrder/entity/ProductMixInShopOrder.java index 03e5ca4..a81549d 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/entity/ProductMixInShopOrder.java +++ b/src/main/java/com/gaotao/modules/shopOrder/entity/ProductMixInShopOrder.java @@ -28,7 +28,7 @@ public class ProductMixInShopOrder { private String defaultLocationID; @TableField(exist = false) - private Double qtyOnHand; + private String qtyOnHand; public String getDefaultLocationID() { return defaultLocationID; @@ -166,11 +166,11 @@ public class ProductMixInShopOrder { this.rMTypeDB = rMTypeDB; } - public Double getQtyOnHand() { + public String getQtyOnHand() { return qtyOnHand; } - public void setQtyOnHand(Double qtyOnHand) { + public void setQtyOnHand(String qtyOnHand) { this.qtyOnHand = qtyOnHand; } } diff --git a/src/main/java/com/gaotao/modules/shopOrder/entity/SopViewData.java b/src/main/java/com/gaotao/modules/shopOrder/entity/SopViewData.java index e299622..a3aa195 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/entity/SopViewData.java +++ b/src/main/java/com/gaotao/modules/shopOrder/entity/SopViewData.java @@ -13,8 +13,8 @@ public class SopViewData { @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date postDate; private String uPdnum; - private String docEntry; - private double plannedQty; + private Integer docEntry; + private Double plannedQty; private String itemName; private String itemCode; @DateTimeFormat(pattern = "yyyy-MM-dd") @@ -33,11 +33,11 @@ public class SopViewData { private String uPn; private String uIdentify; private String uDotline; - private int uMoldQty; + private String uMoldQty; private String uSmplCard; private String uEdge; - private double uQtypp; - private double uPQty; + private String uQtypp; + private String uPQty; private String uUnit; private String comments; private String uPlate; @@ -60,7 +60,7 @@ public class SopViewData { private String uMoldNo; private String uMoldNo2; private String wor1ItemCode; - private double wor1PlannedQty; + private String wor1PlannedQty; private String wor1ItemName; private String uSnum; private String uAttach1; @@ -68,8 +68,8 @@ public class SopViewData { private String uAttach3; private String uAttn2; private String uEcn; - private double onHand; - private String uCheck; + private Double onHand; + private Double uCheck; private String uCheckt; private String uEcnh; private String picturName; @@ -91,22 +91,6 @@ public class SopViewData { this.uPdnum = uPdnum; } - public String getDocEntry() { - return docEntry; - } - - public void setDocEntry(String docEntry) { - this.docEntry = docEntry; - } - - public double getPlannedQty() { - return plannedQty; - } - - public void setPlannedQty(double plannedQty) { - this.plannedQty = plannedQty; - } - public String getItemName() { return itemName; } @@ -235,13 +219,7 @@ public class SopViewData { this.uDotline = uDotline; } - public int getuMoldQty() { - return uMoldQty; - } - public void setuMoldQty(int uMoldQty) { - this.uMoldQty = uMoldQty; - } public String getuSmplCard() { return uSmplCard; @@ -259,21 +237,9 @@ public class SopViewData { this.uEdge = uEdge; } - public double getuQtypp() { - return uQtypp; - } - public void setuQtypp(double uQtypp) { - this.uQtypp = uQtypp; - } - public double getuPQty() { - return uPQty; - } - public void setuPQty(double uPQty) { - this.uPQty = uPQty; - } public String getuUnit() { return uUnit; @@ -451,13 +417,7 @@ public class SopViewData { this.wor1ItemCode = wor1ItemCode; } - public double getWor1PlannedQty() { - return wor1PlannedQty; - } - public void setWor1PlannedQty(double wor1PlannedQty) { - this.wor1PlannedQty = wor1PlannedQty; - } public String getWor1ItemName() { return wor1ItemName; @@ -491,21 +451,6 @@ public class SopViewData { this.uEcn = uEcn; } - public double getOnHand() { - return onHand; - } - - public void setOnHand(double onHand) { - this.onHand = onHand; - } - - public String getuCheck() { - return uCheck; - } - - public void setuCheck(String uCheck) { - this.uCheck = uCheck; - } public String getuCheckt() { return uCheckt; @@ -538,4 +483,68 @@ public class SopViewData { public void setuName(String uName) { this.uName = uName; } + + public String getuMoldQty() { + return uMoldQty; + } + + public void setuMoldQty(String uMoldQty) { + this.uMoldQty = uMoldQty; + } + + public String getuQtypp() { + return uQtypp; + } + + public void setuQtypp(String uQtypp) { + this.uQtypp = uQtypp; + } + + public String getuPQty() { + return uPQty; + } + + public void setuPQty(String uPQty) { + this.uPQty = uPQty; + } + + public String getWor1PlannedQty() { + return wor1PlannedQty; + } + + public void setWor1PlannedQty(String wor1PlannedQty) { + this.wor1PlannedQty = wor1PlannedQty; + } + + public Integer getDocEntry() { + return docEntry; + } + + public void setDocEntry(Integer docEntry) { + this.docEntry = docEntry; + } + + public Double getPlannedQty() { + return plannedQty; + } + + public void setPlannedQty(Double plannedQty) { + this.plannedQty = plannedQty; + } + + public Double getOnHand() { + return onHand; + } + + public void setOnHand(Double onHand) { + this.onHand = onHand; + } + + public Double getuCheck() { + return uCheck; + } + + public void setuCheck(Double uCheck) { + this.uCheck = uCheck; + } } diff --git a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java index d53cc14..328c269 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java +++ b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java @@ -20,6 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; @@ -680,4 +683,41 @@ public class ShopOrderServiceImpl implements ShopOrderService { return shopOrderMapper.getOrderSopInfo(shopOrderData); } + @Override + public void downLoadObjectFile(Integer id, HttpServletResponse response) throws UnsupportedEncodingException { + //处理路径和名称 + List getFileData = shopOrderMapper.getFileData(id); + if (getFileData.isEmpty()) { + throw new RuntimeException("该文件不存在,请刷新列表"); + } + File file = new File(getFileData.get(0).getUrl()); + //读取缓存1kb + byte[] buffer = new byte[1024]; + FileInputStream fis = null; + BufferedInputStream bis = null; + FileOutputStream fos = null; + BufferedOutputStream bos = null; + response.setContentType("application/force-download;charset=utf-8"); + response.setHeader("Content-disposition", "attachment; filename=" + new String(getFileData.get(0).getFileName().getBytes("gbk"), "iso8859-1")); + try { + //读取文件 + fis = new FileInputStream(file); + //加缓存 + bis = new BufferedInputStream(fis); + //开始读取 + int i = bis.read(buffer); + //设置输出流 + ServletOutputStream os = response.getOutputStream(); + //开始循环读取 + while (i != -1) { + os.write(buffer, 0, i); + i = bis.read(buffer); + } + fis.close(); + fos.close(); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + } diff --git a/src/main/java/com/gaotao/modules/shopOrder/service/ShopOrderService.java b/src/main/java/com/gaotao/modules/shopOrder/service/ShopOrderService.java index 9fc568b..0bf323b 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/service/ShopOrderService.java +++ b/src/main/java/com/gaotao/modules/shopOrder/service/ShopOrderService.java @@ -8,6 +8,8 @@ import com.gaotao.modules.shopOrder.entity.*; import com.gaotao.modules.shopOrder.entity.dto.ShopOrderRoutingViaRevDto; import com.gaotao.modules.shopOrder.entity.vo.WorkCenterVo; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.util.List; @@ -362,4 +364,6 @@ public interface ShopOrderService { List getShopOrderSopSOBOM(ShopOrderData shopOrderData); SopViewData getOrderSopInfo(ShopOrderData shopOrderData); + + void downLoadObjectFile(Integer id, HttpServletResponse response) throws UnsupportedEncodingException; } diff --git a/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml b/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml index 00ae3e4..eded02c 100644 --- a/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml +++ b/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml @@ -725,26 +725,22 @@ ORDER BY ResourceID,order_ref4 + \ No newline at end of file