| | |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | | import com.ruoyi.management.domain.*; |
| | | import com.ruoyi.management.domain.dto.*; |
| | | import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; |
| | | import com.ruoyi.management.domain.vo.SlGoodsShelfVO; |
| | | import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO; |
| | | import com.ruoyi.management.domain.vo.*; |
| | | import com.ruoyi.management.mapper.*; |
| | | import com.ruoyi.management.service.SlStoreManagementService; |
| | | import com.ruoyi.management.service.SlVolumeProductionRkService; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.math.BigDecimal; |
| | | import java.sql.Array; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private SlGoodsMaterialsMapper slGoodsMaterialsMapper; |
| | | @Resource |
| | | private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper; |
| | | @Resource |
| | | private SlVolumeProductionRkMapper slVolumeProductionRkMapper; |
| | | |
| | | @Resource |
| | | private SlGoodsShelfMapper slGoodsShelfMapper; |
| | |
| | | |
| | | @Resource |
| | | private SysUserClient sysUserClient; |
| | | |
| | | @Resource |
| | | private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; |
| | | |
| | | |
| | | |
| | |
| | | list.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | list.setSupplierName(data.getNickName()); |
| | | SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); |
| | | list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); |
| | | if (slGoodsShelf!=null){ |
| | | list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); |
| | | } |
| | | LambdaQueryWrapper<SlGoodsShelf> wrapper5= Wrappers.lambdaQuery(); |
| | | wrapper5.eq(SlGoodsShelf::getStoreManagementId,byId.getManagementId()); |
| | | wrapper5.eq(SlGoodsShelf::getStoreManagementNumber,list.getStoreManagementNumber()); |
| | | wrapper5.eq( SlGoodsShelf::getDelFlag,0); |
| | | wrapper5.orderByDesc(SlGoodsShelf::getCreateTime); |
| | | List<SlGoodsShelf> page3 = slGoodsShelfMapper.selectList(wrapper5); |
| | | list.setSlGoodsShelfs(page3); |
| | | } |
| | | } |
| | | return SlGoodsShelfDTO; |
| | |
| | | for(ManagementimgVolumeProductionRkVO list:list2) {{ |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); |
| | | |
| | | if (slGoodsMaterials!=null){ |
| | | list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | list.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | } |
| | | SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); |
| | | SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); |
| | | if (byId!=null){ |
| | | SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); |
| | | list.setSupplierName(data.getNickName()); |
| | | } |
| | | |
| | | list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | list.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | list.setSupplierName(data.getNickName()); |
| | | |
| | | SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); |
| | | list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); |
| | | if (slGoodsShelf!=null){ |
| | | list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); |
| | | |
| | | } |
| | | } |
| | | } |
| | | return SlGoodsShelfDTO; |
| | | } |
| | | |
| | | @Override |
| | | public void addVolumeProductionRkgl(SlVolumeProductionRkListDTO slVolumeProductionRkListDTO) { |
| | | List<Long> materialsId = slVolumeProductionRkListDTO.getMaterialsId(); |
| | | for (Long m:materialsId){ |
| | | public void addVolumeProductionRkgl(List<SlVolumeProductionRkListDTO> slVolumeProductionRkListDTO) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | for (SlVolumeProductionRkListDTO m:slVolumeProductionRkListDTO){ |
| | | SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); |
| | | slVolumeProductionRk.setVolumeProductionRkglId(slVolumeProductionRkListDTO.getVolumeProductionRkglId()); |
| | | slVolumeProductionRk.setMaterialsId(m); |
| | | slVolumeProductionRk.setManagementId(slVolumeProductionRkListDTO.getManagementId()); |
| | | slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime()); |
| | | slVolumeProductionRk.setVolumeProductionRkglId(m.getVolumeProductionRkglId()); |
| | | slVolumeProductionRk.setMaterialsId(m.getMaterialsId()); |
| | | slVolumeProductionRk.setManagementId(m.getManagementId()); |
| | | slVolumeProductionRk.setRkNumber("CD-"+simpleDateFormat.format(new Date())); |
| | | slVolumeProductionRk.setNewAddTime(m.getNewAddTime()); |
| | | if ( m.getErwmNum()!=null){ |
| | | slVolumeProductionRk.setErwmNum( m.getErwmNum()); |
| | | }if ( m.getRkPice()!=null){ |
| | | slVolumeProductionRk.setRkPice( m.getRkPice()); |
| | | }if ( m.getRkNum()!=null){ |
| | | slVolumeProductionRk.setRkNum( m.getRkNum()); |
| | | }if ( m.getShelfId()!=null){ |
| | | slVolumeProductionRk.setShelfId( m.getShelfId()); |
| | | }if ( m.getRkModel()!=null){ |
| | | slVolumeProductionRk.setRkModel( m.getRkModel()); |
| | | }if ( m.getStoreManagementNumber()!=null){ |
| | | slVolumeProductionRk.setStoreManagementNumber( m.getStoreManagementNumber()); |
| | | }if ( m.getRkNumber()!=null){ |
| | | slVolumeProductionRk.setRkNumber( m.getRkNumber()); |
| | | } |
| | | slVolumeProductionRk.setCreateTime(new Date()); |
| | | slVolumeProductionRk.setRepertoryZhai(m.getRkNum()); |
| | | this.save(slVolumeProductionRk); |
| | | } |
| | | |
| | |
| | | }if (a.getRkNumber()!=null){ |
| | | byId.setRkNumber(a.getRkNumber()); |
| | | } |
| | | byId.setNewAddTime(a.getNewAddTime()); |
| | | this.updateById(byId); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public ManagementimgVolumeProductionRkVO codeInfo(Long id) { |
| | | SlVolumeProductionRk byId = this.getById(id); |
| | | ManagementimgVolumeProductionRkVO vo=new ManagementimgVolumeProductionRkVO(); |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(byId.getMaterialsId()); |
| | | vo.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | vo.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | SlVolumeProductionRkgl byId1 = slVolumeProductionRkglMapper.selectById(byId.getVolumeProductionRkglId()); |
| | | SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData(); |
| | | vo.setSupplierName(data.getNickName()); |
| | | SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); |
| | | vo.setStoreManagementName(slStoreManagement.getStoreManagementName()); |
| | | vo.setRkNum(byId.getRkNum()); |
| | | vo.setRkNumber(byId.getRkNumber()); |
| | | return vo; |
| | | public List<QRCodeVO> codeInfo(Long id) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | List<QRCodeVO> res = new ArrayList<>(); |
| | | LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); |
| | | wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,id); |
| | | wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); |
| | | wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); |
| | | List<SlVolumeProductionRk> list = this.list(wrapper1); |
| | | for (SlVolumeProductionRk byId : list) { |
| | | // 根据生成二维码数量 复制 |
| | | for (int i = 0; i < byId.getErwmNum(); i++) { |
| | | QRCodeVO vo=new QRCodeVO(); |
| | | String letter = getLetter(i); |
| | | vo.setCategory(letter); |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(byId.getMaterialsId()); |
| | | vo.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | SlVolumeProductionRkgl byId1 = slVolumeProductionRkglMapper.selectById(byId.getVolumeProductionRkglId()); |
| | | SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData(); |
| | | vo.setSupplierName(data.getNickName()); |
| | | vo.setMaterialsNum(byId.getRkNum()); |
| | | Long materialsId = byId.getMaterialsId(); |
| | | // 查询物资缩写 |
| | | vo.setMaterials(byId.getRkNumber()); |
| | | SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); |
| | | vo.setStoreManagementName(slStoreManagement.getStoreManagementName()); |
| | | res.add(vo); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | return res; |
| | | } |
| | | |
| | | // 根据传入数字是几 返回对应的字母 |
| | | 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 那么往后叠加对应的字母 |
| | | 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]; |
| | | } |
| | | @Override |
| | | public PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList(umeProductionRkQuery meProductionRkQuery) { |
| | | |
| | |
| | | return SlGoodsShelfDTO; |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<gethuojRkVO> gethuojRkList(gethuojRkQuery gethuojRkQuery) { |
| | | LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); |
| | | if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ |
| | | wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName()); |
| | | } |
| | | |
| | | wrapper.eq( SlGoodsMaterials::getDelFlag,0); |
| | | List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); |
| | | |
| | | Set<Long> goodsSkuIdList = null; |
| | | goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId) |
| | | .collect(Collectors.toSet()); |
| | | |
| | | Page<SlVolumeProductionRk> page = new Page<>(gethuojRkQuery.getPageCurr(), gethuojRkQuery.getPageSize()); |
| | | LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); |
| | | if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ |
| | | if (goodsSkuIdList.size()>0) { |
| | | wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); |
| | | }else{ |
| | | goodsSkuIdList=new HashSet<>(); |
| | | goodsSkuIdList.add(0L); |
| | | wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); |
| | | } |
| | | } |
| | | wrapper1.eq(SlVolumeProductionRk::getShelfId,gethuojRkQuery.getGoodsShelid()); |
| | | wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); |
| | | wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); |
| | | Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); |
| | | PageDTO<gethuojRkVO> SlGoodsShelfDTO = PageDTO.of(page2, gethuojRkVO.class); |
| | | List<gethuojRkVO> list2 = SlGoodsShelfDTO.getList(); |
| | | for(gethuojRkVO list:list2) { |
| | | |
| | | LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); |
| | | wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId()); |
| | | wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId()); |
| | | wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); |
| | | ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); |
| | | if (managementGoodsMaterials != null){ |
| | | list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(managementGoodsMaterials.getRepertorySum()))); |
| | | list.setRepertorySum(managementGoodsMaterials.getRepertorySum()); |
| | | }else{ |
| | | list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(1))); |
| | | list.setRepertorySum(0L); |
| | | } |
| | | |
| | | SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); |
| | | SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); |
| | | if (byId!=null){ |
| | | SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); |
| | | list.setSupplierName(data.getNickName()); |
| | | } |
| | | |
| | | if (slGoodsMaterials!=null){ |
| | | list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); |
| | | list.setIsConsume(slGoodsMaterials.getIsConsume()); |
| | | } |
| | | |
| | | SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); |
| | | if (slGoodsShelf!=null){ |
| | | list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); |
| | | |
| | | } |
| | | } |
| | | return SlGoodsShelfDTO; |
| | | } |
| | | |
| | | } |