| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | | import com.ruoyi.management.domain.SlAudit; |
| | | import com.ruoyi.management.domain.SlVolumeProductionCk; |
| | | import com.ruoyi.management.domain.SlVolumeProductionRkgl; |
| | | import com.ruoyi.management.domain.SlVolumeProductionZygl; |
| | | import com.ruoyi.management.domain.*; |
| | | import com.ruoyi.management.domain.dto.*; |
| | | import com.ruoyi.management.domain.vo.*; |
| | | import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper; |
| | | import com.ruoyi.management.mapper.SlAuditMapper; |
| | | import com.ruoyi.management.service.SlVolumeProductionZyService; |
| | | import com.ruoyi.management.service.SlVolumeProductionZyglService; |
| | | import com.ruoyi.management.service.*; |
| | | import com.ruoyi.management.service.impl.SlVolumeProductionZyServiceImpl; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import io.swagger.annotations.Authorization; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | private SlVolumeProductionZyglService slVolumeProductionZyglService; |
| | | @Resource |
| | | private SlVolumeProductionZyService slVolumeProductionZyService; |
| | | @Autowired |
| | | private SlVolumeProductionRkService slVolumeProductionRkService; |
| | | @Autowired |
| | | private SlGoodsMaterialsService slGoodsMaterialsService; |
| | | @Resource |
| | | private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; |
| | | @PostMapping("/getVolumeProductionZyglCode") |
| | | @ApiOperation(value = "获取转移管理打印二维码列表") |
| | | public R<PageDTO<getVolumeProductionRkgCodeVO>> getVolumeProductionRkgCode(@RequestBody VolumeProductionZyglCodeQuery volumeProductionRkgCodeQuery) { |
| | | // 通过转移管理获取 转移列表 获取入库id |
| | | Page<SlVolumeProductionZy> page = new Page<>(volumeProductionRkgCodeQuery.getPageCurr(), volumeProductionRkgCodeQuery.getPageSize()); |
| | | LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery(); |
| | | wrapper1.eq(SlVolumeProductionZy::getZyglId,volumeProductionRkgCodeQuery.getVolumeProductionZyglId()); |
| | | wrapper1.eq( SlVolumeProductionZy::getDelFlag,"0"); |
| | | if (volumeProductionRkgCodeQuery.getManagementNumber() != null){ |
| | | wrapper1.eq(SlVolumeProductionZy::getShelfId,volumeProductionRkgCodeQuery.getShelfId()); |
| | | } |
| | | if (volumeProductionRkgCodeQuery.getManagementNumber() != null){ |
| | | wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,volumeProductionRkgCodeQuery.getManagementNumber()); |
| | | } |
| | | wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); |
| | | Page<SlVolumeProductionZy> page2 = slVolumeProductionZyService.page(page, wrapper1); |
| | | PageDTO<getVolumeProductionRkgCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionRkgCodeVO.class); |
| | | List<getVolumeProductionRkgCodeVO> list2 = SlGoodsShelfDTO.getList(); |
| | | for(getVolumeProductionRkgCodeVO list:list2) { |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsService.getById(list.getMaterialsId()); |
| | | list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | list.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | list.setErwmNum(slVolumeProductionRkService.getById(list.getScrkId()).getErwmNum()); |
| | | } |
| | | // 将list2中的数据 如果字段erwmNum为空 优先展示在前面 |
| | | list2.sort((o1, o2) -> { |
| | | if (o1.getErwmNum() == null) { |
| | | return -1; |
| | | } |
| | | if (o2.getErwmNum() == null) { |
| | | return 1; |
| | | } |
| | | return 0; |
| | | }); |
| | | return R.ok(SlGoodsShelfDTO); |
| | | } |
| | | @PostMapping("/updateQrCodeNum") |
| | | @ApiOperation(value = "批量修改转移二维码生成数量") |
| | | public R updateQrCodeNum(@RequestBody UpdateZyQrCodeDTO dto) { |
| | | for (UpdateQrCodeNumDTO updateQrCodeNumDTO : dto.getList()) { |
| | | SlVolumeProductionZy byId = slVolumeProductionZyService.getById(updateQrCodeNumDTO.getId()); |
| | | if (byId == null){ |
| | | continue; |
| | | } |
| | | Long scrkId = byId.getScrkId(); |
| | | SlVolumeProductionRk byId1 = slVolumeProductionRkService.getById(scrkId); |
| | | if (byId1 == null){ |
| | | continue; |
| | | } |
| | | byId1.setErwmNum(updateQrCodeNumDTO.getErwmNum()); |
| | | byId1.setRkModel(getLetter(updateQrCodeNumDTO.getErwmNum())); |
| | | slVolumeProductionRkService.updateById(byId1); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | public static String getLetter(int num) { |
| | | String[] str = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; |
| | | // 如果num大于26 那么往后叠加对应的字母 比如27 那么就是AA |
| | | if (num > 26) { |
| | | int a = num / 26; |
| | | int b = num % 26; |
| | | if (b == 0) { |
| | | a = a - 1; |
| | | b = 26; |
| | | } |
| | | return getLetter(a) + getLetter(b); |
| | | } |
| | | |
| | | return str[num - 1]; |
| | | } |
| | | @PostMapping("/getVolumeProductionzZyglList") |
| | | @ApiOperation(value = "分页获取转移管理") |
| | | public R<PageDTO<VolumeProductionzZyglVO>> getVolumeProductionzZyglList(@RequestBody SlVolumeProductionZyQuery slVolumeProductionZyQuery) { |
| | |
| | | return R.ok(slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO)); |
| | | } |
| | | |
| | | @GetMapping("/getVolumeProductionzZyglnfo") |
| | | @PostMapping("/getVolumeProductionzZyglnfo") |
| | | @ApiOperation(value = "获取转移管理详情") |
| | | public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@RequestBody ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) { |
| | | return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(managementimgVolumeProductionZyQuery)); |
| | |
| | | |
| | | @GetMapping("/getVolumeProductionZyglnventory/{id}") |
| | | @ApiOperation(value = "获取转移管理打印清单") |
| | | public R<VolumeProductionZyglInventoryVO> getVolumeProductionZyglnventory(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { |
| | | public R<VolumeProductionZyglInventoryVO> getVolumeProductionZyglnventory(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") String id) { |
| | | return R.ok(slVolumeProductionZyglService.getVolumeProductionZyglnventory(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("取转移管理") |
| | | @ApiOperation("取消转移管理") |
| | | @GetMapping("/{id}") |
| | | public R<?> delStoreManagement( |
| | | @ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { |
| | | @ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Long id) { |
| | | SlVolumeProductionZygl byId = slVolumeProductionZyglService.getById(id); |
| | | byId.setPresentState(5); |
| | | byId.setAuditStatus(7); |
| | | slVolumeProductionZyglService.updateById(byId); |
| | | |
| | | LambdaQueryWrapper<SlAudit> wrapper= Wrappers.lambdaQuery(); |
| | | wrapper.eq(SlAudit::getType,1); |
| | | wrapper.eq(SlAudit::getType,3); |
| | | wrapper.eq( SlAudit::getDelFlag,0); |
| | | wrapper.eq(SlAudit::getRkId,id); |
| | | SlAudit slAudit = slAuditMapper.selectOne(wrapper); |
| | | slAudit.setState(6); |
| | | List<SlVolumeProductionZy> list = slVolumeProductionZyService.list(new QueryWrapper<SlVolumeProductionZy>() |
| | | .eq("zygl_id", id) |
| | | .eq("del_flag", "0")); |
| | | List<Long> collect = list.stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList()); |
| | | // 回滚入库记录库存 |
| | | for (SlVolumeProductionZy slVolumeProductionZy : list) { |
| | | SlVolumeProductionRk byId1 = slVolumeProductionRkService.getById(slVolumeProductionZy.getRkId()); |
| | | byId1.setRepertoryZhai(byId1.getRepertoryZhai()+slVolumeProductionZy.getZyNum()); |
| | | slVolumeProductionRkService.updateById(byId1); |
| | | // 回滚中间表记录库存 |
| | | LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); |
| | | wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,slVolumeProductionZy.getMaterialsId()); |
| | | wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId()); |
| | | wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); |
| | | ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); |
| | | if (managementGoodsMaterials!=null){ |
| | | Long repertorySum = managementGoodsMaterials.getRepertorySum(); |
| | | Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai(); |
| | | Long re=repertorySum+Long.valueOf(slVolumeProductionZy.getZyNum()); |
| | | Long re1=repertoryZhai+Long.valueOf(slVolumeProductionZy.getZyNum()); |
| | | managementGoodsMaterials.setRepertorySum(re); |
| | | managementGoodsMaterials.setRepertoryZhai(re1); |
| | | managementGoodsMaterials.setRepertoryChu(0); |
| | | managementGoodsMaterialsMapper.updateById(managementGoodsMaterials); |
| | | }else{ |
| | | ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials(); |
| | | managementGoodsMaterials1.setManagementId(byId.getBmanagementId()); |
| | | managementGoodsMaterials1.setGoodsMaterialsId(slVolumeProductionZy.getMaterialsId()); |
| | | managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(slVolumeProductionZy.getZyNum())); |
| | | managementGoodsMaterials1.setRepertorySum(Long.valueOf(slVolumeProductionZy.getZyNum())); |
| | | managementGoodsMaterials1.setRepertoryChu(slVolumeProductionZy.getZyNum()); |
| | | managementGoodsMaterials1.setCreateTime(new Date()); |
| | | managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); |
| | | } |
| | | } |
| | | |
| | | List<SlVolumeProductionRk> list1 = slVolumeProductionRkService.list(new QueryWrapper<SlVolumeProductionRk>() |
| | | .in("id",collect) |
| | | .eq("del_flag","0")); |
| | | |
| | | // 删除入库记录 |
| | | slVolumeProductionRkService.remove(new QueryWrapper<SlVolumeProductionRk>().in("id",collect)); |
| | | // 取消后删除转移记录 |
| | | QueryWrapper<SlVolumeProductionZy> wrapper1 = new QueryWrapper<>(); |
| | | wrapper1.eq("zygl_id",id); |
| | | slVolumeProductionZyService.remove(wrapper1); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation("转移管理入库") |
| | | @GetMapping("/zy/{id}") |
| | | public R<?> zy(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { |
| | | slVolumeProductionZyglService.zy(id); |
| | | @PostMapping("/zy") |
| | | public R<?> zy(@RequestBody ZyRkDTO dto) { |
| | | slVolumeProductionZyglService.zy(dto.getCkglId(),dto.getAuthorizationUrl()); |
| | | return R.ok(); |
| | | } |
| | | @Autowired |
| | | private SlAuditService slAuditRecordService; |
| | | @ApiOperation("查询审核拒绝原因") |
| | | @GetMapping("/getRefuseReason") |
| | | public R<?> getRefuseReason(Long auditId) { |
| | | SlAudit byId = slAuditRecordService.getById(auditId); |
| | | return R.ok(byId.getCause()); |
| | | } |
| | | } |