package com.gaotao.modules.outsourcing.controller; import com.gaotao.common.utils.PageUtils; import com.gaotao.common.utils.PartAttributeUtil; import com.gaotao.common.utils.R; import com.gaotao.modules.api.entity.IfsShopOrder; import com.gaotao.modules.base.entity.SOScheduledRoutingData; import com.gaotao.modules.notify.entity.SOIssueNotifyHeaderData; import com.gaotao.modules.notify.entity.SOIssueNotifyOrderListData; import com.gaotao.modules.notify.entity.SOIssueNotifyOrderMaterialListData; import com.gaotao.modules.notify.entity.dto.NewSoIssueNotifyDto; import com.gaotao.modules.notify.entity.vo.ShopOrderAndMaterialVo; import com.gaotao.modules.outsourcing.entity.dto.IfsOutsourcingOrderDto; import com.gaotao.modules.outsourcing.entity.dto.OutsourcingIssueNotifyDto; import com.gaotao.modules.outsourcing.entity.vo.OutsourcingAndMaterialVo; import com.gaotao.modules.outsourcing.service.OutsourcingNotifyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.util.List; @RestController @RequestMapping("/production/outsourcing") public class OutsourcingNotifyController { @Autowired private OutsourcingNotifyService outsourcingNotifyService; @Autowired private PartAttributeUtil partAttributeUtil; @PostMapping(value="/getUserNotifyPo") @ResponseBody public R getUserNotifyPo(@RequestBody SOIssueNotifyHeaderData data) { SOIssueNotifyHeaderData row = outsourcingNotifyService.getUserNotifyPo(data); return R.ok().put("row", row); } @PostMapping(value="/createNotify") @ResponseBody public R createNotify(@RequestBody SOIssueNotifyHeaderData data) throws ParseException { outsourcingNotifyService.createNotify(data); return R.ok(); } @PostMapping(value="/getNotifyPoDetail") @ResponseBody public R getNotifyPoDetail(@RequestBody SOIssueNotifyHeaderData data) { List rows = outsourcingNotifyService.getNotifyPoDetail(data); return R.ok().put("rows", rows); } @PostMapping(value="/getShopOrderAndMaterialByShoporder") public R getShopOrderAndMaterialByShoporder(@RequestBody IfsOutsourcingOrderDto data) throws Exception { List rows = outsourcingNotifyService.getShopOrderAndMaterialByShoporder(data); if(rows != null && rows.size() > 0){ // 提前赋值:用contract赋值给site,用componentPartNo赋值给partQuery - rqrq for (OutsourcingAndMaterialVo row : rows) { row.setSite(row.getContract()); row.setPartQuery(row.getComponentPartNo()); // componentPartNo用于fillIsInWh查询 - rqrq } // 批量填充isInWh字段 - rqrq partAttributeUtil.fillIsInWh(rows); return R.ok().put("rows", rows); } return R.error("未找到对应的工单物料信息"); } @PostMapping(value="/deleteOutsourcingNotifyHeader") @ResponseBody public R deleteOutsourcingNotifyHeader(@RequestBody SOIssueNotifyHeaderData data) { outsourcingNotifyService.deleteOutsourcingNotifyHeader(data); return R.ok("删除成功"); } @PostMapping(value="/saveNewOutsourcingIssueNotify") public R saveNewOutsourcingIssueNotify(@RequestBody OutsourcingIssueNotifyDto data) throws Exception { String rows = outsourcingNotifyService.saveNewOutsourcingIssueNotify(data); if("200".equals(rows)){ return R.ok("操作成功"); } return R.error("操作失败"); } @PostMapping(value="/getOutsouringForIssureNew") @ResponseBody public R getOutsouringForIssureNew(@RequestBody SOScheduledRoutingData data) throws Exception{ List rows = outsourcingNotifyService.getOutsouringForIssureNew(data); if(rows != null && rows.size() > 0){ // 提前赋值:用componentPartNo赋值给partQuery,partNo保持原值不变 - rqrq for (SOIssueNotifyOrderMaterialListData row : rows) { row.setPartQuery(row.getComponentPartNo()); // componentPartNo用于fillIsInWh查询 - rqrq } // 批量填充isInWh字段 - rqrq partAttributeUtil.fillIsInWh(rows); } return R.ok().put("rows", rows); } @PostMapping(value="/saveMaterialDetail") @ResponseBody public R saveMaterialDetail(@RequestBody List data) { outsourcingNotifyService.saveMaterialDetail(data); return R.ok(); } @PostMapping(value="/deleteNotifySOS") @ResponseBody public R deleteNotifySOS(@RequestBody SOIssueNotifyOrderListData data) { outsourcingNotifyService.deleteNotifySOS(data); return R.ok(); } @PostMapping(value="/xiadaNotify") @ResponseBody public R xiadaNotifyHeader(@RequestBody SOIssueNotifyHeaderData data) { outsourcingNotifyService.xiadaNotifyHeader(data); return R.ok(); } @PostMapping(value="/searchNotifyHeaderNew") public R searchNotifyHeaderNew(@RequestBody SOIssueNotifyHeaderData data) { PageUtils page = outsourcingNotifyService.searchNotifyHeaderNew(data); return R.ok().put("page", page); } @PostMapping(value="/deleteNotifySOSPlus") @ResponseBody public R deleteNotifySOSPlus(@RequestBody SOIssueNotifyOrderListData data) throws Exception{ outsourcingNotifyService.deleteNotifySOSPlus(data); return R.ok("刪除成功"); } }