| | |
| | | import com.consum.base.pojo.request.UsingFormBackGoodsInfo; |
| | | import com.consum.base.pojo.request.UsingFormBackParam; |
| | | import com.consum.base.pojo.request.baseGoodModel; |
| | | import com.consum.base.pojo.response.*; |
| | | import com.consum.base.service.*; |
| | | import com.consum.model.po.*; |
| | | import com.consum.base.pojo.response.BaseGoodsTemplateInfo; |
| | | import com.consum.base.pojo.response.UseInfo; |
| | | import com.consum.base.pojo.response.UsingFormBackDetailListVO; |
| | | import com.consum.base.pojo.response.UsingFormBackDetailVO; |
| | | import com.consum.base.pojo.response.UsingFormBackGoodsTemplateInfo; |
| | | import com.consum.base.pojo.response.UsingFormBackModelInfo; |
| | | import com.consum.base.pojo.response.UsingFormBackVO; |
| | | import com.consum.base.service.BaseCategoryService; |
| | | import com.consum.base.service.FinSysTenantDepartmentService; |
| | | import com.consum.base.service.LWhFormTransferService; |
| | | import com.consum.base.service.UsingFormBackGoodsService; |
| | | import com.consum.base.service.UsingFormBackModelService; |
| | | import com.consum.base.service.UsingFormBackService; |
| | | import com.consum.model.po.BaseCategory; |
| | | import com.consum.model.po.FinSysTenantDepartment; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | | import com.consum.model.po.UsingFormBack; |
| | | import com.consum.model.po.UsingFormBackGoods; |
| | | import com.consum.model.po.UsingFormBackModel; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author asus |
| | |
| | | private LWhFormTransferService lWhFormTransferService; |
| | | @Resource |
| | | private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; |
| | | |
| | | @Override |
| | | public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) { |
| | | |
| | | Long departmentId = usingFormBackParam.getDepartmentId(); |
| | | Long operatorId = usingFormBackParam.getOperatorId(); |
| | | String operatorName = usingFormBackParam.getOperatorName(); |
| | | Long backTime = usingFormBackParam.getDealTime(); |
| | | String procureDoc = usingFormBackParam.getProcureDoc(); |
| | | List<UsingFormBackGoodsInfo> goodsList = usingFormBackParam.getGoods(); |
| | | |
| | | // 检查部门是否存在 |
| | | FinSysTenantDepartment department = finSysTenantDepartmentService.getById(departmentId); |
| | | if (department == null) { |
| | | throw new RuntimeException("部门不存在"); |
| | | } |
| | | String departmentName = department.getName(); |
| | | Long operatorId = usingFormBackParam.getOperatorId(); |
| | | String operatorName = usingFormBackParam.getOperatorName(); |
| | | Long backTime = usingFormBackParam.getDealTime(); |
| | | String procureDoc = usingFormBackParam.getProcureDoc(); |
| | | List<UsingFormBackGoodsInfo> usingFormBackGoodsInfo = usingFormBackParam.getGoods(); |
| | | |
| | | // 添加退回表单 |
| | | Long usingFormBackId = addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc); |
| | | for (UsingFormBackGoodsInfo backingGoodsInfo : usingFormBackGoodsInfo) { |
| | | Long baseCategoryId = backingGoodsInfo.getBaseCategoryId(); |
| | | Long baseGoodsTemplateId = backingGoodsInfo.getBaseGoodsTemplateId(); |
| | | String goodsTemplateName = backingGoodsInfo.getGoodsTemplateName(); |
| | | Long transBusinessId = backingGoodsInfo.getTransBusinessId(); |
| | | String businessFormCode = backingGoodsInfo.getBusinessFormCode(); |
| | | |
| | | UsingFormBackGoods usingFormBackGoods = new UsingFormBackGoods(); |
| | | usingFormBackGoods.setId(IdUtil.generateId()); |
| | | usingFormBackGoods.setUsingFormBackId(usingFormBackId); |
| | | usingFormBackGoods.setBaseGoodsTemplateId(baseGoodsTemplateId); |
| | | usingFormBackGoods.setBaseGoodsTemplateName(goodsTemplateName); |
| | | // 批量插入退回商品和退回商品模型 |
| | | List<UsingFormBackGoods> goodsBatch = new ArrayList<>(); |
| | | List<UsingFormBackModel> modelBatch = new ArrayList<>(); |
| | | |
| | | BaseCategory baseCategory = baseCategoryService.getById(baseCategoryId); |
| | | String categoryName = baseCategory.getCategoryName(); |
| | | String classification = baseCategory.getClassification(); |
| | | usingFormBackGoods.setCategoryName(categoryName); |
| | | usingFormBackGoods.setClassification(classification); |
| | | usingFormBackGoods.setTransBusinessId(transBusinessId); |
| | | usingFormBackGoods.setBusinessFormCode(businessFormCode); |
| | | for (UsingFormBackGoodsInfo goodsInfo : goodsList) { |
| | | UsingFormBackGoods goods = createUsingFormBackGoods(usingFormBackId, goodsInfo); |
| | | goodsBatch.add(goods); |
| | | |
| | | LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(transBusinessId); |
| | | Integer outWarehouseType = lWhFormTransfer.getOutWarehouseType(); |
| | | Long outWarehouseId = lWhFormTransfer.getOutWarehouseId(); |
| | | usingFormBackGoods.setTransOutWarehouseType(outWarehouseType); |
| | | usingFormBackGoods.setTransOutWarehouseId(outWarehouseId); |
| | | |
| | | usingFormBackModelService.insert(usingFormBackGoods); |
| | | for (baseGoodModel model : backingGoodsInfo.getModels()) { |
| | | |
| | | UsingFormBackModel usingFormBackModel = new UsingFormBackModel(); |
| | | usingFormBackModel.setId(IdUtil.generateId()); |
| | | usingFormBackModel.setUsingFormBackId(usingFormBackId); |
| | | usingFormBackModel.setUsingFormBackGoodsId(usingFormBackGoods.getId()); |
| | | usingFormBackModel.setBaseGoodsTemplateId(model.getGoodsTemplatesId()); |
| | | usingFormBackModel.setBaseGoodsTemplateName(goodsTemplateName); |
| | | usingFormBackModel.setClassification(model.getClassification()); |
| | | usingFormBackModel.setUnit(model.getUnit()); |
| | | usingFormBackModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); |
| | | usingFormBackModel.setBaseGoodsModelsName(model.getModelName()); |
| | | usingFormBackModel.setProcureModelUserId(model.getModelUserId()); |
| | | usingFormBackModel.setInitialCount(model.getGoodsNum()); |
| | | usingFormBackModel.setUseCount(model.getUserUseCount()); |
| | | usingFormBackModel.setCounts(model.getCounts()); |
| | | usingFormBackModel.setGoodsUserName(model.getNowUserName()); |
| | | |
| | | usingFormBackGoodsService.insert(usingFormBackModel); |
| | | for (baseGoodModel model : goodsInfo.getModels()) { |
| | | UsingFormBackModel formModel = createUsingFormBackModel(usingFormBackId, goods.getId(), goodsInfo, model); |
| | | modelBatch.add(formModel); |
| | | } |
| | | |
| | | |
| | | } |
| | | depUsingFormBackCoreService.updateBack(usingFormBackId ,currentUser,DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | |
| | | // 批量插入退回商品和退回商品模型 |
| | | usingFormBackModelService.insertBatch(goodsBatch); |
| | | usingFormBackGoodsService.insertBatch(modelBatch); |
| | | |
| | | depUsingFormBackCoreService.updateBack(usingFormBackId, currentUser, DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | } |
| | | |
| | | private UsingFormBackGoods createUsingFormBackGoods(Long usingFormBackId, UsingFormBackGoodsInfo goodsInfo) { |
| | | UsingFormBackGoods goods = new UsingFormBackGoods(); |
| | | goods.setId(IdUtil.generateId()); |
| | | goods.setUsingFormBackId(usingFormBackId); |
| | | goods.setBaseGoodsTemplateId(goodsInfo.getBaseGoodsTemplateId()); |
| | | goods.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName()); |
| | | |
| | | BaseCategory baseCategory = baseCategoryService.getById(goodsInfo.getBaseCategoryId()); |
| | | goods.setCategoryName(baseCategory.getCategoryName()); |
| | | goods.setClassification(baseCategory.getClassification()); |
| | | |
| | | LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(goodsInfo.getTransBusinessId()); |
| | | goods.setTransOutWarehouseType(lWhFormTransfer.getOutWarehouseType()); |
| | | goods.setTransOutWarehouseId(lWhFormTransfer.getOutWarehouseId()); |
| | | |
| | | return goods; |
| | | } |
| | | |
| | | private UsingFormBackModel createUsingFormBackModel(Long usingFormBackId, Long usingFormBackGoodsId, UsingFormBackGoodsInfo goodsInfo, |
| | | baseGoodModel model) { |
| | | UsingFormBackModel formModel = new UsingFormBackModel(); |
| | | formModel.setId(IdUtil.generateId()); |
| | | formModel.setUsingFormBackId(usingFormBackId); |
| | | formModel.setUsingFormBackGoodsId(usingFormBackGoodsId); |
| | | formModel.setBaseGoodsTemplateId(model.getGoodsTemplatesId()); |
| | | formModel.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName()); |
| | | formModel.setClassification(model.getClassification()); |
| | | formModel.setUnit(model.getUnit()); |
| | | formModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); |
| | | formModel.setBaseGoodsModelsName(model.getModelName()); |
| | | formModel.setProcureModelUserId(model.getModelUserId()); |
| | | formModel.setInitialCount(model.getGoodsNum()); |
| | | formModel.setUseCount(model.getUserUseCount()); |
| | | formModel.setCounts(model.getCounts()); |
| | | formModel.setGoodsUserName(model.getNowUserName()); |
| | | |
| | | return formModel; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageUtil selectPageByList(UsingFormBackQry usingFormBackParam) { |
| | | |