| | |
| | | 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.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.management.domain.*; |
| | |
| | | import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO; |
| | | import com.ruoyi.management.domain.vo.*; |
| | | import com.ruoyi.management.mapper.*; |
| | | import com.ruoyi.management.service.SlAuditRecordService; |
| | | import com.ruoyi.management.service.SlAuditService; |
| | | import com.ruoyi.management.service.SlStoreManagementService; |
| | | import com.ruoyi.management.service.SlVolumeProductionZyService; |
| | | import com.ruoyi.management.service.*; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.management.util.UUIDUtil; |
| | | import com.ruoyi.system.api.domain.SysUser; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; |
| | | |
| | | @Resource |
| | | private SlGoodsShelfService slGoodsShelfService; |
| | | @Resource |
| | | private SlStoreManagementMapper slStoreManagementMapper; |
| | | @Override |
| | | public void addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) { |
| | | public R addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) { |
| | | SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(addaddSlVolumeProductionZyDTO.getManagementId()); |
| | | String directorId = slStoreManagement.getDirectorId(); |
| | | String competentId = slStoreManagement.getCompetentId(); |
| | | String administratorId = slStoreManagement.getAdministratorId(); |
| | | List<String> list1 = Arrays.asList(administratorId.split(",")); |
| | | List<String> list2 = Arrays.asList(competentId.split(",")); |
| | | List<String> list3 = Arrays.asList(directorId.split(",")); |
| | | List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS(); |
| | | for (AddZYIdsDTO addZYIdsDTO : rkId) { |
| | | Long shelfId = addZYIdsDTO.getShelfId(); |
| | | SlGoodsShelf byId = slGoodsShelfService.getById(shelfId); |
| | | if (byId!=null){ |
| | | if (byId.getImgId() == null){ |
| | | return R.fail("货架名称:"+byId.getGoodsShelfName()+"未配置货架"); |
| | | } |
| | | }else{ |
| | | return R.fail("货架不存在"); |
| | | } |
| | | |
| | | } |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | | Long userid = SecurityUtils.getUserId(); |
| | | if (addaddSlVolumeProductionZyDTO.getId()==null){ |
| | |
| | | slVolumeProductionZygl.setBmanagementId(addaddSlVolumeProductionZyDTO.getBmanagementId()); |
| | | slVolumeProductionZygl.setSysId(userid); |
| | | slVolumeProductionZygl.setStartiTime(new Date()); |
| | | // 如果发起人是主任 主管 或 管理员 |
| | | if (list1.contains(userid.toString())){ |
| | | slVolumeProductionZygl.setAuditStatus(1); |
| | | slVolumeProductionZygl.setPresentState(2); |
| | | } |
| | | if (list2.contains(userid.toString())){ |
| | | slVolumeProductionZygl.setAuditStatus(1); |
| | | slVolumeProductionZygl.setPresentState(3); |
| | | } |
| | | if (list3.contains(userid.toString())){ |
| | | slVolumeProductionZygl.setAuditStatus(3); |
| | | slVolumeProductionZygl.setPresentState(4); |
| | | }else{ |
| | | slVolumeProductionZygl.setAuditStatus(1); |
| | | slVolumeProductionZygl.setPresentState(1); |
| | | } |
| | | |
| | | slVolumeProductionZyglMapper.insert(slVolumeProductionZygl); |
| | | addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId()); |
| | | // 新增 |
| | | List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS(); |
| | | for (AddZYIdsDTO m:rkId){ |
| | | SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); |
| | | Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId(); |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | this.save(slVolumeProductionZy); |
| | | } |
| | | LambdaQueryWrapper<SlVolumeProductionZy> wrapper1 = Wrappers.lambdaQuery(); |
| | |
| | | List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1); |
| | | for (SlVolumeProductionZy zy:page2){ |
| | | SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(zy.getMaterialsId()); |
| | | if (slGoodsMaterials!=null){ |
| | | slVolumeProductionRk.setRkNumber(slGoodsMaterials.getGoodsMaterialsNo()+"-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2)); |
| | | } |
| | | SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId()); |
| | | SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(slVolumeProductionRk1.getVolumeProductionRkglId()); |
| | | slVolumeProductionRk.setSupplierId(slVolumeProductionRkgl.getSupplierId()); |
| | | slVolumeProductionRk.setMaterialsId(zy.getMaterialsId()); |
| | | slVolumeProductionRk.setStoreManagementNumber(zy.getStoreManagementNumber()); |
| | | slVolumeProductionRk.setManagementId(slVolumeProductionZygl.getBmanagementId()); |
| | | slVolumeProductionRk.setRkNumber("CD-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2)); |
| | | slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum())); |
| | | SlVolumeProductionRk slVolumeProductionRk2 = slVolumeProductionRkMapper.selectById(zy.getRkId()); |
| | | if (slVolumeProductionRk2!=null){ |
| | | slVolumeProductionRk.setRkModel(slVolumeProductionRk2.getRkModel()); |
| | | slVolumeProductionRk.setRkPice(slVolumeProductionRk2.getRkPice()); |
| | | } |
| | | slVolumeProductionRk.setShelfId(zy.getShelfId()); |
| | | slVolumeProductionRk.setShelfId(zy.getShelfId().toString()); |
| | | slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum())); |
| | | slVolumeProductionRk.setCreateTime(new Date()); |
| | | slVolumeProductionRkMapper.insert(slVolumeProductionRk); |
| | |
| | | if (addaddSlVolumeProductionZyDTO.getAuthorization()!=null){ |
| | | byId.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization()); |
| | | } |
| | | // 如果发起人是主任 主管 或 管理员 |
| | | if (list1.contains(userid.toString())){ |
| | | byId.setAuditStatus(1); |
| | | byId.setPresentState(2); |
| | | } |
| | | if (list2.contains(userid.toString())){ |
| | | byId.setAuditStatus(1); |
| | | byId.setPresentState(3); |
| | | } |
| | | if (list3.contains(userid.toString())){ |
| | | byId.setAuditStatus(3); |
| | | byId.setPresentState(4); |
| | | }else{ |
| | | byId.setAuditStatus(1); |
| | | byId.setPresentState(1); |
| | | } |
| | | slVolumeProductionZyglMapper.updateById(byId); |
| | | QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>(); |
| | | slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId()); |
| | | this.remove(slVolumeProductionZyQueryWrapper); |
| | | for (AddZYIdsDTO m:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){ |
| | | |
| | | SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); |
| | | slVolumeProductionRk.setRkPice(slVolumeProductionRk.getRkPice()); |
| | | // todo 目前还不知道转移管理存不存供应商id |
| | |
| | | slVolumeProductionZy.setShelfId(m.getShelfId()); |
| | | slVolumeProductionZy.setSysId(userid); |
| | | slVolumeProductionZy.setRkId(m.getRkId()); |
| | | |
| | | SlVolumeProductionRk slVolumeProductionRk1=new SlVolumeProductionRk(); |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); |
| | | if (slGoodsMaterials!=null){ |
| | | slVolumeProductionRk1.setRkNumber(slGoodsMaterials.getGoodsMaterialsNo()+"-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2)); |
| | | } |
| | | slVolumeProductionRk1.setMaterialsId(slVolumeProductionRk.getMaterialsId()); |
| | | slVolumeProductionRk1.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber()); |
| | | slVolumeProductionRk1.setManagementId(byId.getBmanagementId()); |
| | | slVolumeProductionRk1.setRkNum(Long.valueOf(m.getZyNum())); |
| | | SlVolumeProductionRk slVolumeProductionRk2 = slVolumeProductionRkMapper.selectById(m.getRkId()); |
| | | if (slVolumeProductionRk2!=null){ |
| | | slVolumeProductionRk1.setRkModel(slVolumeProductionRk2.getRkModel()); |
| | | slVolumeProductionRk1.setRkPice(slVolumeProductionRk2.getRkPice()); |
| | | } |
| | | slVolumeProductionRk1.setShelfId(slVolumeProductionRk.getShelfId()); |
| | | slVolumeProductionRk1.setRepertoryZhai(Long.valueOf(m.getZyNum())); |
| | | slVolumeProductionRk1.setCreateTime(new Date()); |
| | | slVolumeProductionRkMapper.insert(slVolumeProductionRk1); |
| | | slVolumeProductionZy.setScrkId(slVolumeProductionRk1.getId()); |
| | | slVolumeProductionZyMapper.updateById(slVolumeProductionZy); |
| | | |
| | | |
| | | if (slVolumeProductionRkgl!=null){ |
| | | if (slVolumeProductionRkgl.getSupplierId()!=null){ |
| | | slVolumeProductionZy.setSupplierId(Integer.valueOf(slVolumeProductionRkgl.getSupplierId().toString())); |
| | |
| | | SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId()); |
| | | slAudit.setShenhId(byId.getAdministratorId()); |
| | | slAuditService.save(slAudit); |
| | | SlAuditRecord slAuditRecord=new SlAuditRecord(); |
| | | slAuditRecord.setAuditId(slAudit.getId()); |
| | | slAuditRecord.setShenhId(byId.getAdministratorId()); |
| | | slAuditRecord.setType(1); |
| | | slAuditRecord.setState(1); |
| | | slAuditRecord.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord); |
| | | if (list3.contains(userid.toString())){ |
| | | slAudit.setState(4); |
| | | slAuditService.saveOrUpdate(slAudit); |
| | | slVolumeProductionZygl.setAuditStatus(4); |
| | | slVolumeProductionZygl.setPresentState(3); |
| | | slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl); |
| | | // 主任发起 主管和管理员默认审核通过 |
| | | SlAuditRecord slAuditRecord4=new SlAuditRecord(); |
| | | slAuditRecord4.setAuditId(slAudit.getId()); |
| | | slAuditRecord4.setShenhId(byId.getDirectorId()); |
| | | slAuditRecord4.setType(3); |
| | | slAuditRecord4.setState(2); |
| | | slAuditRecord4.setShenhTime(new Date()); |
| | | slAuditRecord4.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord4); |
| | | |
| | | SlAuditRecord slAuditRecord1=new SlAuditRecord(); |
| | | slAuditRecord1.setAuditId(slAudit.getId()); |
| | | slAuditRecord1.setShenhId(byId.getCompetentId()); |
| | | slAuditRecord1.setType(2); |
| | | slAuditRecord1.setState(1); |
| | | slAuditRecord1.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord1); |
| | | SlAuditRecord slAuditRecord3=new SlAuditRecord(); |
| | | slAuditRecord3.setAuditId(slAudit.getId()); |
| | | slAuditRecord3.setShenhId(byId.getCompetentId()); |
| | | slAuditRecord3.setType(2); |
| | | slAuditRecord3.setState(2); |
| | | slAuditRecord3.setShenhTime(new Date()); |
| | | slAuditRecord3.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord3); |
| | | |
| | | SlAuditRecord slAuditRecord2=new SlAuditRecord(); |
| | | slAuditRecord2.setAuditId(slAudit.getId()); |
| | | slAuditRecord2.setShenhId(byId.getDirectorId()); |
| | | slAuditRecord2.setType(3); |
| | | slAuditRecord2.setState(1); |
| | | slAuditRecord2.setShenhId(byId.getAdministratorId()); |
| | | slAuditRecord2.setType(1); |
| | | slAuditRecord2.setState(2); |
| | | slAuditRecord2.setShenhTime(new Date()); |
| | | slAuditRecord2.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord2); |
| | | }else if (list2.contains(userid.toString())){ |
| | | slAudit.setState(3); |
| | | slAuditService.saveOrUpdate(slAudit); |
| | | slVolumeProductionZygl.setAuditStatus(3); |
| | | slVolumeProductionZygl.setPresentState(1); |
| | | slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl); |
| | | // 如果是主管 |
| | | SlAuditRecord slAuditRecord3=new SlAuditRecord(); |
| | | slAuditRecord3.setAuditId(slAudit.getId()); |
| | | slAuditRecord3.setShenhId(byId.getCompetentId()); |
| | | slAuditRecord3.setType(2); |
| | | slAuditRecord3.setState(2); |
| | | slAuditRecord3.setShenhTime(new Date()); |
| | | slAuditRecord3.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord3); |
| | | |
| | | SlAuditRecord slAuditRecord2=new SlAuditRecord(); |
| | | slAuditRecord2.setAuditId(slAudit.getId()); |
| | | slAuditRecord2.setShenhId(byId.getAdministratorId()); |
| | | slAuditRecord2.setType(1); |
| | | slAuditRecord2.setState(2); |
| | | slAuditRecord2.setShenhTime(new Date()); |
| | | slAuditRecord2.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord2); |
| | | |
| | | SlAuditRecord slAuditRecord4=new SlAuditRecord(); |
| | | slAuditRecord4.setAuditId(slAudit.getId()); |
| | | slAuditRecord4.setShenhId(byId.getDirectorId()); |
| | | slAuditRecord4.setType(3); |
| | | slAuditRecord4.setState(1); |
| | | slAuditRecord4.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord4); |
| | | |
| | | }else if (list1.contains(userid.toString())){ |
| | | // 如果是管理员 |
| | | slAudit.setState(2); |
| | | slAuditService.saveOrUpdate(slAudit); |
| | | slVolumeProductionZygl.setAuditStatus(2); |
| | | slVolumeProductionZygl.setPresentState(1); |
| | | slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl); |
| | | // 如果是主管 |
| | | SlAuditRecord slAuditRecord3=new SlAuditRecord(); |
| | | slAuditRecord3.setAuditId(slAudit.getId()); |
| | | slAuditRecord3.setShenhId(byId.getCompetentId()); |
| | | slAuditRecord3.setType(2); |
| | | slAuditRecord3.setState(1); |
| | | slAuditRecord3.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord3); |
| | | |
| | | SlAuditRecord slAuditRecord2=new SlAuditRecord(); |
| | | slAuditRecord2.setAuditId(slAudit.getId()); |
| | | slAuditRecord2.setShenhId(byId.getAdministratorId()); |
| | | slAuditRecord2.setType(1); |
| | | slAuditRecord2.setState(2); |
| | | slAuditRecord2.setShenhTime(new Date()); |
| | | slAuditRecord2.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord2); |
| | | |
| | | SlAuditRecord slAuditRecord4=new SlAuditRecord(); |
| | | slAuditRecord4.setAuditId(slAudit.getId()); |
| | | slAuditRecord4.setShenhId(byId.getDirectorId()); |
| | | slAuditRecord4.setType(3); |
| | | slAuditRecord4.setState(1); |
| | | slAuditRecord4.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord4); |
| | | }else{ |
| | | slAuditService.saveOrUpdate(slAudit); |
| | | slVolumeProductionZygl.setAuditStatus(1); |
| | | slVolumeProductionZygl.setPresentState(1); |
| | | slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl); |
| | | // 如果是主管 |
| | | SlAuditRecord slAuditRecord3=new SlAuditRecord(); |
| | | slAuditRecord3.setAuditId(slAudit.getId()); |
| | | slAuditRecord3.setShenhId(byId.getCompetentId()); |
| | | slAuditRecord3.setType(2); |
| | | slAuditRecord3.setState(1); |
| | | slAuditRecord3.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord3); |
| | | |
| | | SlAuditRecord slAuditRecord2=new SlAuditRecord(); |
| | | slAuditRecord2.setAuditId(slAudit.getId()); |
| | | slAuditRecord2.setShenhId(byId.getAdministratorId()); |
| | | slAuditRecord2.setType(1); |
| | | slAuditRecord2.setState(1); |
| | | slAuditRecord2.setShenhTime(new Date()); |
| | | slAuditRecord2.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord2); |
| | | |
| | | SlAuditRecord slAuditRecord4=new SlAuditRecord(); |
| | | slAuditRecord4.setAuditId(slAudit.getId()); |
| | | slAuditRecord4.setShenhId(byId.getDirectorId()); |
| | | slAuditRecord4.setType(3); |
| | | slAuditRecord4.setState(1); |
| | | slAuditRecord4.setCreateTime(new Date()); |
| | | slAuditRecordService.save(slAuditRecord4); |
| | | } |
| | | } |
| | | 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 |