| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package com.dk.mdm.service.mst;
- import com.dk.common.infrastructure.annotaiton.Pagination;
- import com.dk.common.infrastructure.constant.Constant;
- import com.dk.common.model.pojo.PageList;
- import com.dk.common.response.ResponseResultUtil;
- import com.dk.common.response.ResponseResultVO;
- import com.dk.mdm.infrastructure.convert.mst.GoodsSkuConvert;
- import com.dk.mdm.infrastructure.util.AuthUtils;
- import com.dk.mdm.model.pojo.mst.GoodsSku;
- import com.dk.mdm.mapper.mst.GoodsSkuMapper;
- import com.dk.common.service.BaseService;
- import com.dk.common.mapper.BaseMapper;
- import com.dk.mdm.model.pojo.mst.Role;
- import com.dk.mdm.model.query.mac.OtherReceivableItemQuery;
- import com.dk.mdm.model.query.mst.GoodsSkuQuery;
- import com.dk.mdm.model.query.mst.RoleQuery;
- import com.dk.mdm.model.response.mac.OtherReceivableItemResponse;
- import com.dk.mdm.model.response.mst.GoodsSkuResponse;
- import com.dk.mdm.model.response.mst.RoleResponse;
- import com.dk.mdm.model.vo.ivt.InOutRecordVO;
- import com.dk.mdm.model.vo.ivt.InboundItemVO;
- import com.dk.mdm.model.vo.ivt.InboundVO;
- import com.dk.mdm.model.vo.mst.GoodsSkuVO;
- import com.dk.mdm.model.vo.mst.RoleVo;
- import com.dk.mdm.service.common.CommonService;
- import com.dk.mdm.service.ivt.inbound.InboundCheckService;
- import com.dk.mdm.service.ivt.inventory.InventoryService;
- import org.springframework.stereotype.Service;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import java.math.BigDecimal;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Service
- @Transactional
- public class GoodsSkuService extends BaseService<GoodsSku> {
- @Override
- public BaseMapper<GoodsSku> getRepository() {
- return goodsSkuMapper;
- }
- @Autowired
- private GoodsSkuMapper goodsSkuMapper;
- @Autowired
- private GoodsSkuConvert goodsSkuConvert;
- @Autowired
- private InboundCheckService inboundCheckService;
- @Autowired
- InventoryService inventoryService;
- /**
- * @desc : 重写组件
- * @author : 王英杰
- * @date : 2024/3/4 14:51
- */
- @Override
- public String getPrimaryKey() {
- return "sku_id";
- }
- @Autowired
- private CommonService commonService;
- @Autowired
- private AuthUtils authUtils;
- /**
- * @desc : 查询
- * @author : 王英杰
- * @date : 2023/1/5 9:39
- */
- @Pagination
- public ResponseResultVO<PageList<GoodsSkuResponse>> selectByCond(GoodsSkuQuery goodsSkuQuery) {
- return super.mergeListWithCount(goodsSkuQuery, goodsSkuMapper.selectByCond(goodsSkuQuery),
- goodsSkuMapper.countByCond(goodsSkuQuery));
- }
- /**
- * @desc : 新建
- * @author : 王英杰
- * @date : 2023/1/5 9:39
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> insert(GoodsSkuVO goodsSkuVO) {
- GoodsSku goodsSku = goodsSkuConvert.convertToPo(goodsSkuVO);
- // 获取编码和主键UuId
- Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.GOODSSKU.getName(), true);
- goodsSku.setSkuId(codeMap.get("outId").toString());
- goodsSku.setSkuCode(codeMap.get("outNote").toString());
- super.insert(goodsSku);
- if(goodsSkuVO.getWhId()!=null){ //生成入库单数据 插入存货表
- String StaffId = authUtils.getStaff().getStaffId();
- //总单
- InboundVO inboundVO = new InboundVO();
- inboundVO.setIntoType(Constant.IntoType.BEGIN.getName());
- inboundVO.setIntoingQty(goodsSkuVO.getIntoQty());
- inboundVO.setIntoingAmt(goodsSkuVO.getIntoQty().multiply(goodsSkuVO.getPriceInto()));
- inboundVO.setStaffId(StaffId);
- inboundVO.setMakeStaff(StaffId);
- inboundVO.setOrgId(goodsSkuVO.getOrgId());
- inboundVO.setMakeTime(LocalDateTime.now());
- inboundVO.setIntoDate(LocalDate.now());
- inboundVO.setWhId(goodsSkuVO.getWhId());
- inboundVO.setFlgAutoHandle(true);
- //明细
- List<InboundItemVO> inboundItemVOList = new ArrayList<>();
- InboundItemVO inboundItemVO = new InboundItemVO();
- inboundItemVO.setIntoingQty(goodsSkuVO.getIntoQty());
- inboundItemVO.setIntoingAmt(goodsSkuVO.getIntoQty().multiply(goodsSkuVO.getPriceInto()));
- inboundItemVO.setPriceInto(goodsSkuVO.getPriceInto());
- inboundItemVO.setIntoQty(goodsSkuVO.getIntoQty());
- inboundItemVO.setItemIndex(0);
- inboundItemVO.setSkuId(goodsSku.getSkuId());
- inboundItemVO.setWhId(goodsSkuVO.getWhId());
- inboundItemVO.setNonStdCode(goodsSkuVO.getNonStdCode());
- inboundItemVOList.add(inboundItemVO);
- Map<String, Object> map = new HashMap<>();
- map.put("total",inboundVO);
- map.put("detail",inboundItemVOList);
- inboundCheckService.checkInboundInsert(map);
- }
- return ResponseResultUtil.success();
- }
- /**
- * @desc : 新建
- * @author : 王英杰
- * @date : 2023/1/5 9:39
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> update(GoodsSkuVO goodsSkuVO) {
- GoodsSku goodsSku = goodsSkuConvert.convertToPo(goodsSkuVO);
- // 获取编码和主键UuId
- super.updateByUuid(goodsSku);
- return ResponseResultUtil.success();
- }
- }
|