package com.huaheng.pc.srm.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.Wrappers; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.pc.config.warehouse.domain.WarehouseU8; import com.huaheng.pc.config.warehouse.service.WarehouseU8Service; import com.huaheng.pc.srm.domain.SrmDetail; import com.huaheng.pc.srm.service.SrmDetailService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Date; import java.util.List; @Controller @RequestMapping("/srm/srmDetail") public class SRMDetailController extends BaseController { private String prefix = "srm/srmDetail"; @RequiresPermissions("srm:srmDetail:view") @GetMapping("/{headerId}") public String srmDetail(@PathVariable("headerId") String headerId, ModelMap mmap) { mmap.put("headerId", headerId); return prefix + "/srmDetail"; } @Resource private SrmDetailService srmDetailService; @Resource private WarehouseU8Service warehouseU8Service; /** * 查询已到送货单明细 */ //@RequiresPermissions("srm:srmDetail:list") @Log(title = "送货单-送货单", operating="查看送货单明细", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(SrmDetail srmDetail) { srmDetail.setEnable(1); startPage(); List<SrmDetail> list = srmDetailService.selectList(srmDetail) ; for (SrmDetail detail : list) { WarehouseU8 warehouseWu = new WarehouseU8(); warehouseWu.setWarehouseCode(srmDetail.getWarehouseCode()); warehouseWu.setUCompanyCode(detail.getCompanyCode()); warehouseWu.setUWarehouseCode(detail.getUWarehouseCode()); List<WarehouseU8> warehouseWulist = warehouseU8Service.getByDomain(warehouseWu); if(warehouseWulist != null&&warehouseWulist.size()>0){ warehouseWu=warehouseWulist.get(0); detail.setUWarehouseName(warehouseWu.getUWarehouseName()); } } return getDataTable(list); } @Log(title = "已到待检", operating="已到待检明细", action = BusinessType.GRANT) @PostMapping("/yiDaoDaiJianlist") @ResponseBody public TableDataInfo yiDaoDaiJianlist(SrmDetail srmDetail) { srmDetail.setEnable(1); startPage(); LambdaQueryWrapper<SrmDetail> lambdaQueryWrapper= Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(SrmDetail::getHeaderId,srmDetail.getHeaderId()); lambdaQueryWrapper.eq(SrmDetail::getCheckCode,0); List<SrmDetail> list = srmDetailService.list(lambdaQueryWrapper) ; for (SrmDetail detail : list) { WarehouseU8 warehouseWu = new WarehouseU8(); warehouseWu.setWarehouseCode(srmDetail.getWarehouseCode()); warehouseWu.setUCompanyCode(detail.getCompanyCode()); warehouseWu.setUWarehouseCode(detail.getUWarehouseCode()); List<WarehouseU8> warehouseWulist = warehouseU8Service.getByDomain(warehouseWu); if(warehouseWulist != null&&warehouseWulist.size()>0){ warehouseWu=warehouseWulist.get(0); detail.setUWarehouseName(warehouseWu.getUWarehouseName()); } } return getDataTable(list); } @Log(title = "已到合格", operating="已到合格明细", action = BusinessType.GRANT) @PostMapping("/yiDaoHeGelist") @ResponseBody public TableDataInfo yiDaoHeGelist(SrmDetail srmDetail) { srmDetail.setEnable(1); startPage(); LambdaQueryWrapper<SrmDetail> lambdaQueryWrapper= Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(SrmDetail::getHeaderId,srmDetail.getHeaderId()); lambdaQueryWrapper.gt(SrmDetail::getQualifiedQty,0); List<SrmDetail> list = srmDetailService.list(lambdaQueryWrapper) ; for (SrmDetail detail : list) { WarehouseU8 warehouseWu = new WarehouseU8(); warehouseWu.setWarehouseCode(srmDetail.getWarehouseCode()); warehouseWu.setUCompanyCode(detail.getCompanyCode()); warehouseWu.setUWarehouseCode(detail.getUWarehouseCode()); List<WarehouseU8> warehouseWulist = warehouseU8Service.getByDomain(warehouseWu); if(warehouseWulist != null&&warehouseWulist.size()>0){ warehouseWu=warehouseWulist.get(0); detail.setUWarehouseName(warehouseWu.getUWarehouseName()); } } return getDataTable(list); } @Log(title = "已到不合格", operating="已到不合格明细", action = BusinessType.GRANT) @PostMapping("/yiDaoBuHeGelist") @ResponseBody public TableDataInfo yiDaoBuHeGelist(SrmDetail srmDetail) { srmDetail.setEnable(1); startPage(); LambdaQueryWrapper<SrmDetail> lambdaQueryWrapper= Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(SrmDetail::getHeaderId,srmDetail.getHeaderId()); lambdaQueryWrapper.gt(SrmDetail::getUnqualifiedQty,0); List<SrmDetail> list = srmDetailService.list(lambdaQueryWrapper) ; for (SrmDetail detail : list) { WarehouseU8 warehouseWu = new WarehouseU8(); warehouseWu.setWarehouseCode(srmDetail.getWarehouseCode()); warehouseWu.setUCompanyCode(detail.getCompanyCode()); warehouseWu.setUWarehouseCode(detail.getUWarehouseCode()); List<WarehouseU8> warehouseWulist = warehouseU8Service.getByDomain(warehouseWu); if(warehouseWulist != null&&warehouseWulist.size()>0){ warehouseWu=warehouseWulist.get(0); detail.setUWarehouseName(warehouseWu.getUWarehouseName()); } } return getDataTable(list); } /** * 检测 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { SrmDetail srmDetail = new SrmDetail(); srmDetail.setId(id); srmDetail =srmDetailService.selectFirstModel(srmDetail); mmap.put("srmDetail", srmDetail); return prefix + "/edit"; } /** * 修改 */ @RequiresPermissions("srm:srmDetail:edit") @Log(title = "送货单-送货单", operating="修改送货单明细", action = BusinessType.GRANT) @PostMapping("/edit") @ResponseBody public AjaxResult edit(SrmDetail srmDetail) { srmDetail.setLastUpdateBy(ShiroUtils.getLoginName()); srmDetail.setLastUpdate(new Date()); srmDetail.setUploadStatus1(0); srmDetailService.updateById(srmDetail); return AjaxResult.success("成功"); } /** * 删除送货单明细 */ @RequiresPermissions("srm:srmDetail:edit") @Log(title = "送货单-送货单", operating= "删除送货单明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } String[] idss = ids.split(","); for(String id:idss) { Boolean number = srmDetailService.removeById(Integer.valueOf(id)); if(!number){ return AjaxResult.error("删除失败"); } } return AjaxResult.success("删除成功"); } /** * 检测 */ @GetMapping("/check/{id}") public String check(@PathVariable("id") Integer id, ModelMap mmap) { SrmDetail srmDetail = new SrmDetail(); srmDetail.setId(id); srmDetail =srmDetailService.selectFirstModel(srmDetail); mmap.put("srmDetail", srmDetail); return prefix + "/check"; } /** * 检测 */ @RequiresPermissions("srm:srmDetail:check") @Log(title = "送货单-送货单", operating="检测送货单明细", action = BusinessType.GRANT) @PostMapping("/checkDetail") @ResponseBody public AjaxResult check(SrmDetail srmDetail) { return srmDetailService.checkDetail(srmDetail); } }