package com.tld.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.tld.excel.ExcelUtils; import com.tld.model.*; import com.tld.service.AskGoodsService; import com.tld.util.PassToken; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; /** * 生产领料 */ @RestController @RequestMapping("askGoods") public class AskGoodsController { @Autowired private AskGoodsService askGoodsService; /** * 查询生产领料数据 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getAskGoods") public Map getAskGoodsList(AskGoods askGoods){ return askGoodsService.getAskGoodsfList(askGoods); } /** * 查询指定生产单的物料 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getAskGoodsMaterial") public Map getAskGoodsMaterial(AskGoods askGoods){ return askGoodsService.getAskGoodsMaterial(askGoods); } /** * 物料库位选择 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getMaterialCk") public Map getMaterialCk(AskGoods askGoods){ return askGoodsService.getMaterialCk(askGoods); } /** * 插入出库虚拟表 * @param askGoods 参数 * @return 返回结果 */ @PostMapping("addAskGoodsVitrual") public Map addAskGoodsVitrual(@RequestBody AskGoods askGoods){ return askGoodsService.addAskGoodsVitrual(askGoods); } /** * 跨越退料 * @param askGoods * @return */ @PostMapping("addAskGoodsVitrualMinus") public Map addAskGoodsVitrualMinus(@RequestBody AskGoods askGoods){ return askGoodsService.addAskGoodsVitrualMinus(askGoods); } /** * 移库入虚拟库 * @param askGoods 參數 * @return 返回結果 */ @PostMapping("addWarehouseTransferVitrual") public Map addWarehouseTransferVitrual(@RequestBody AskGoods askGoods){ return askGoodsService.addWarehouseTransferVitrual(askGoods); } /** * 出库 */ @GetMapping("OutOfLibrary") public Map OutOfLibrary(String uniqueCode, String type, String askGoodsId, String name){ return askGoodsService.OutOfLibrary(uniqueCode, type, askGoodsId, name); } /** * 查询出库流水 * askGoods 参数 * @return 返回结果 */ @GetMapping("getRemoval") public Map getRemoval(AskGoods askGoods){ return askGoodsService.getRemoval(askGoods); } /** * 导出流水 * @param askGoods 参数 * @param response */ @GetMapping("export") public void userExport(AskGoods askGoods, HttpServletResponse response) { askGoodsService.export(askGoods, response); } /** * 查询出库虚拟表数据 * @param uniqueCode pda唯一标识 * @return 返回结果 */ @GetMapping("getAskGoodsVitrual") public Map getAskGoodsVitrual(String uniqueCode, String type){ return askGoodsService.getAskGoodsVitrual(uniqueCode, type); } /** * 删除出库虚拟表指定数据 * @param id 指定id * @return 返回结果 */ @GetMapping("delAskGoodsVitrual") public Map delAskGoodsVitrual(String id, String type) { return askGoodsService.delAskGoodsVitrual(id, type); } /** * 查询半成品出库物料 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getGoodsHalf") public Map getGoodsHalf(AskGoods askGoods){ return askGoodsService.getGoodsHalf(askGoods); } /** * 半成品出库流水 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getRemovalHalfProduct") public Map getRemovalHalfProduct(AskGoods askGoods){ return askGoodsService.getRemovalHalfProduct(askGoods); } /** * 半成品出库流水 导出 * @param askGoods 参数 */ @GetMapping("getRemovalHalfProductExcel") public void getRemovalHalfProductExcel(AskGoods askGoods, HttpServletResponse response){ askGoodsService.getRemovalHalfProductExcel(askGoods, response); } /** * 产成品出库流水 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("getRemovalHalf") public Map getRemovalHalf(AskGoods askGoods){ return askGoodsService.getRemovalHalf(askGoods); } /** * 产成品出库流水修改连翻号 * @param askGoods 参数 * @return 返回结果 */ @PutMapping("getRemovalHalfUpdSerial") public Map getRemovalHalfUpdSerial( @RequestBody AskGoods askGoods){ return askGoodsService.getRemovalHalfUpdSerial(askGoods); } /** * 产成品出库流水导出 * @param askGoods 参数 * @param response 参数 * @return 返回结果 */ @GetMapping("getRemovalHalfExcel") public void getRemovalHalfExcel(AskGoods askGoods, HttpServletResponse response){ askGoodsService.getRemovalHalfExcel(askGoods, response); } /** * 其他出库 * @param askGoods 参数 * @return 返回结果 */ @GetMapping("otherAskGoods") public Map otherAskGoods(AskGoods askGoods){ return askGoodsService.otherAskGoods(askGoods); } /** * 删除生产领料 * @param id 参数 * @return 返回结果 */ @DeleteMapping("delAskGoods") public Map delAskGoods(String id, HttpServletRequest request){ return askGoodsService.delAskGoods(id, request); } @GetMapping("test") @PassToken public void test(){ askGoodsService.test(); } @GetMapping("testTwo") @PassToken public void testTwo(){ askGoodsService.testTwo(); } /** * 入库回传 * */ @GetMapping("test03") @PassToken public void test03(){ askGoodsService.test03(); } /** * 生产收货接口文档/报工单 w * */ @GetMapping("test04") @PassToken public void test04(){ askGoodsService.test04(); } /** * 出库回传数据导入 * @param file 文件流 * @return 返回结果 * @throws Exception 返回异常 */ @PostMapping("/import") public Map importExcel(@RequestPart("file") MultipartFile file) throws Exception{ Map map = new HashMap<>(); JSONArray array = ExcelUtils.readMultipartFile(file); List list = new LinkedList<>(); for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); OutgoingReturn outgoingReturn = new OutgoingReturn() .setAskId(jsonObject.get("要货申请ID").toString()) .setAskCode(jsonObject.get("要货申请单号").toString()) .setEntryNumber(jsonObject.get("要货申请分录ID").toString()) .setAmount(jsonObject.get("数量").toString()) .setAmountNum(jsonObject.get("已发数量").toString()) .setAmountNumber(jsonObject.get("取消数量").toString()) .setMoveType(jsonObject.get("类型").toString()) .setMaterialId(jsonObject.get("物料ID").toString()) .setInventoryOrganization(jsonObject.get("库存组织ID").toString()) .setWarehouse(jsonObject.get("仓库ID").toString()) .setWbs(jsonObject.get("WBSID").toString()); list.add(outgoingReturn); } askGoodsService.importExcel(list); map.put("msg", "200"); map.put("data", array.size()); return map; } /** * 存入GS返回数据/出库回传 * */ @GetMapping("merge") @PassToken public void merge(){ askGoodsService.merge(); } /** * 从父子表存入GS返回数据/出库回传 * */ @GetMapping("mergeGs") @PassToken public void mergeGs(){ askGoodsService.mergeGs(); } /** * 出库回传跑数据 * */ @GetMapping("outgoingReturn") @PassToken public void outgoingReturn(){ askGoodsService.outgoingReturn(); } /** * 存入GS返回数据/入库回传 * */ @GetMapping("returnInStorage") @PassToken public void returnInStorage(){ askGoodsService.returnInStorage(); } /** * 出库错误信息回调 * */ @GetMapping("outgoingReturnError") @PassToken public void outgoingReturnError(){ askGoodsService.outgoingReturnError(); } /** * 销售出库导入数据 * @param file 文件流 * @return 返回结果 * @throws Exception 返回异常 */ @PostMapping("/marketImport") public Map marketImport(@RequestPart("file") MultipartFile file) throws Exception{ Map map = new HashMap<>(); JSONArray array = ExcelUtils.readMultipartFile(file); List list = new LinkedList<>(); for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); MarketReturn marketReturn = new MarketReturn() .setOrderNumber(jsonObject.get("订单号").toString()) .setOrderOfficer(jsonObject.get("订单人员").toString()) .setSupplierName(jsonObject.get("供应商").toString()) .setMaterialCode(jsonObject.get("物料号").toString()) .setMaterialName(jsonObject.get("物料描述").toString()) .setNum(jsonObject.get("数量").toString()) .setArrivalTime(jsonObject.get("到货时间").toString()) .setArrivalType(jsonObject.get("到货方式").toString()) .setCompany(jsonObject.get("公司").toString()) .setRemark(jsonObject.get("备注").toString()) .setDeliveryOrder(jsonObject.get("销售交货单").toString()); list.add(marketReturn); } askGoodsService.marketImport(list); map.put("msg", "200"); map.put("data", array.size()); return map; } /** * 存入GS返回数据/销售出库 * */ @GetMapping("market") @PassToken public void market(){ askGoodsService.market(); } /** * 销售发货跑数据 * */ @GetMapping("marketReturn") @PassToken public void marketReturn(){ askGoodsService.marketReturn(); } /** * 入库流水导出 * @param askGoods 参数 * @param response 参数 * @return 返回结果 */ @GetMapping("getStorage") @PassToken public void getStorage(AskGoods askGoods, HttpServletResponse response){ askGoodsService.getStorage(askGoods, response); } /** * 入库错误信息回调 * */ @GetMapping("storageReturnError") @PassToken public void storageReturnError(){ askGoodsService.storageReturnError(); } /** * 移库错误信息回调 * */ @GetMapping("parkingReturnError") @PassToken public void parkingReturnError(){ askGoodsService.parkingReturnError(); } /** * 移库跑数据 * */ @GetMapping("shiftingParkingReturn") @PassToken public void shiftingParkingReturn(){ askGoodsService.shiftingParkingReturn(); } /** * 其它入库错误信息回调 * */ @GetMapping("otherWarehousingReturnError") @PassToken public void otherWarehousingReturnError(){ askGoodsService.otherWarehousingReturnError(); } /** * 转JSON * */ @GetMapping("jsonError") @PassToken public void jsonError(){ askGoodsService.jsonError(); } /** * 生产收货错误信息回调 * */ @GetMapping("ProductionReturnError") @PassToken public void ProductionReturnError(){ askGoodsService.ProductionReturnError(); } /** * 移库获取单据物料code分录号数量 * */ @GetMapping("jsonErrorParking") @PassToken public void jsonErrorParking(){ askGoodsService.jsonErrorParking(); } /** * error错误信息全部跑调用错误回传 * */ @GetMapping("errorParkingReturn") @PassToken public void errorParkingReturn(){ askGoodsService.errorParkingReturn(); } }