| | |
| | | package com.example.erp.service.mm; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.example.erp.common.Constants; |
| | | import com.example.erp.dto.mm.FinishedOperateLogDTO; |
| | | import com.example.erp.entity.mm.*; |
| | | import com.example.erp.entity.pp.OptimizeUse; |
| | | import com.example.erp.entity.pp.*; |
| | | import com.example.erp.entity.sd.Delivery; |
| | | import com.example.erp.entity.sd.DeliveryDetail; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderProcessDetail; |
| | | import com.example.erp.entity.userInfo.Log; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.exception.ServiceException; |
| | | import com.example.erp.mapper.mm.BasicWarehouseTypeMapper; |
| | | import com.example.erp.mapper.mm.MaterialInventoryMapper; |
| | | import com.example.erp.mapper.mm.MaterialLogMapper; |
| | | import com.example.erp.mapper.mm.MaterialStoreMapper; |
| | | import com.example.erp.service.userInfo.LogService; |
| | | import com.example.erp.service.userInfo.SysErrorService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.ArrayList; |
| | | |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @DS("mm") |
| | |
| | | BasicWarehouseTypeMapper basicWarehouseTypeMapper; |
| | | @Autowired |
| | | SysErrorService sysErrorService; |
| | | @Autowired |
| | | LogService logService; |
| | | @Autowired |
| | | MaterialLogMapper materialLogMapper; |
| | | |
| | | public Boolean saveMaterialOutbound(Map<String,Object> object) { |
| | | boolean saveState = true; |
| | | public String saveMaterialOutbound(Map<String,Object> object) { |
| | | String saveState = "true"; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | String materialOutboundId = ""; |
| | |
| | | if (object.get("materialOutboundId") != null) { |
| | | materialOutboundId = object.get("materialOutboundId").toString(); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setContent(object.toString()); |
| | | try { |
| | | MaterialOutbound materialOutbound = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialOutbound.class); |
| | | List<MaterialOutboundDetail> materialOutboundDetailList = JSONArray.parseArray(JSONObject.toJSONString(object.get("materialOutboundDetail")), MaterialOutboundDetail.class); |
| | |
| | | List<MaterialOutboundDetail> materialOutboundDetailLists = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId); |
| | | if (!materialOutboundDetailLists.isEmpty()) { |
| | | for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailLists) { |
| | | //还原物料库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | //还原优化工程库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOptInt(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity()); |
| | | }else{ |
| | | }/*else{ |
| | | //还原物料库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity()); |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | | } |
| | | //删除材料出库明细的数据 |
| | | materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId); |
| | | materialInventoryMapper.updateMaterialOutbound(materialOutbound, materialOutboundId); |
| | | materialInventoryMapper.deleteMaterialLog(materialOutboundId); |
| | | oddNumber = materialOutboundId; |
| | | log.setFunction("saveMaterialOutbound修改:"+oddNumber); |
| | | } else { |
| | | //获取单号 |
| | | oddNumber = orderNumberSetting("出库"); |
| | | //新增材料出库表数据 |
| | | materialInventoryMapper.insertMaterialOutbound(materialOutbound, oddNumber); |
| | | log.setFunction("saveMaterialOutbound新增:"+oddNumber); |
| | | } |
| | | |
| | | //获取对象集合循环进行新增修改 |
| | | |
| | | if (!materialOutboundDetailList.isEmpty()) { |
| | | for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailList) { |
| | | |
| | | Integer materialOutboundDetailMaximum = materialInventoryMapper.getMaterialOutboundDetailMaximum(oddNumber); |
| | | //新增材料出库明细数据 |
| | | materialInventoryMapper.insertMaterialOutboundDetail(materialOutboundDetail, oddNumber, materialOutboundDetailMaximum + 1); |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | //修改优化工程表出库数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOptOut(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity()); |
| | | }else{ |
| | | MaterialInventory materialInventory = materialInventoryMapper.getMaterialInventoryById(materialOutboundDetail.getId()); |
| | | if(materialInventory.getAvailableQuantity()>=materialOutboundDetail.getOutboundQuantity()){ |
| | | Integer materialOutboundDetailMaximum = materialInventoryMapper.getMaterialOutboundDetailMaximum(oddNumber); |
| | | //新增材料出库明细数据 |
| | | materialInventoryMapper.insertMaterialOutboundDetail(materialOutboundDetail, oddNumber, materialOutboundDetailMaximum + 1); |
| | | //修改物料库存表出库数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOut(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity()); |
| | | String projectNo=""; |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | projectNo = materialInventoryMapper.selectProjectNo(materialOutboundDetail.getUseId()); |
| | | //修改优化工程表出库数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOptOut(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity()); |
| | | |
| | | }/*else{ |
| | | //修改物料库存表出库数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOut(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity()); |
| | | }*/ |
| | | String json=""; |
| | | MaterialStore materialStore=materialStoreMapper.getSelectMaterialStoreById(Long.valueOf(materialOutboundDetail.getMaterialCode())); |
| | | json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1); |
| | | MaterialLog materialLog=new MaterialLog(); |
| | | materialLog.setOperationOrderNumber(oddNumber); |
| | | materialLog.setOperationNumber(materialOutboundDetailMaximum + 1); |
| | | materialLog.setOperateType("物料出库"); |
| | | materialLog.setMaterialCode(Long.valueOf(materialOutboundDetail.getMaterialCode())); |
| | | materialLog.setMaterialName(convertString(json,"\"name\"")); |
| | | materialLog.setProducer(materialInventory.getProducer()); |
| | | materialLog.setUnit(convertString(json,"\"unit\"")); |
| | | materialLog.setWidth(convertDouble(json,"\"width\"")); |
| | | materialLog.setHeight(convertDouble(json,"\"height\"")); |
| | | materialLog.setThickness(convertDouble(json,"\"thickness\"")); |
| | | materialLog.setQuantity(materialOutboundDetail.getOutboundQuantity()); |
| | | materialLog.setSinglePieceArea(materialOutboundDetail.getSinglePieceArea()); |
| | | materialLog.setInventoryId(materialOutboundDetail.getId()); |
| | | materialLog.setInventoryArea(materialInventory.getInventoryArea()); |
| | | materialLog.setRemarks(materialOutboundDetail.getRemarks()); |
| | | materialLog.setProjectNo(projectNo); |
| | | materialLog.setOperator(object.get("userName").toString()); |
| | | materialLog.setOperateTime(LocalDate.now()); |
| | | materialLogMapper.insert(materialLog); |
| | | }else{ |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | return "false1"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | logService.saveLog(log); |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("saveMaterialOutbound"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | saveState = "false"; |
| | | |
| | | } |
| | | return saveState; |
| | | |
| | | } |
| | | |
| | | public Boolean saveMaterialInventory(Map<String,Object> object) { |
| | | boolean saveState = true; |
| | | Double singlePieceArea = 0.0; |
| | | Double totalArea = 0.0; |
| | | Long materialCode = 0L; |
| | | if (object.get("singlePieceArea") != null) { |
| | | singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString()); |
| | | } |
| | | if (object.get("totalArea") != null) { |
| | | totalArea = Double.valueOf(object.get("totalArea").toString()); |
| | | } |
| | | if (object.get("materialCode") != null) { |
| | | materialCode = Long.valueOf(object.get("materialCode").toString()); |
| | | } |
| | | public String saveMaterialInventory(Map<String,Object> object) { |
| | | String saveState = "true"; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | Double singlePieceArea = 0.0; |
| | | Double totalArea = 0.0; |
| | | Long materialCode = 0L; |
| | | if (object.get("singlePieceArea") != null) { |
| | | singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString()); |
| | | } |
| | | if (object.get("totalArea") != null) { |
| | | totalArea = Double.valueOf(object.get("totalArea").toString()); |
| | | } |
| | | if (object.get("materialCode") != null) { |
| | | materialCode = Long.valueOf(object.get("materialCode").toString()); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setContent(object.toString()); |
| | | |
| | | MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class); |
| | | MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class); |
| | | |
| | | //查询物料是否存在 |
| | | Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture()); |
| | | |
| | | if(MaterialInventoryCount>0){ |
| | | materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory); |
| | | }else { |
| | | materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory); |
| | | //查询物料是否存在 |
| | | List<MaterialInventory> MaterialInventoryCount; |
| | | if (materialInventory.getDateOfManufacture()!=null){ |
| | | MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture()); |
| | | }else{ |
| | | MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode); |
| | | } |
| | | |
| | | if(MaterialInventoryCount.size()==1){ |
| | | materialInventory.setId(MaterialInventoryCount.get(0).getId()); |
| | | if (materialInventory.getDateOfManufacture()!=null){ |
| | | materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory); |
| | | }else{ |
| | | materialInventoryMapper.updateMaterialInventoryNull(materialCode,singlePieceArea,totalArea,materialInventory); |
| | | } |
| | | log.setFunction("saveMaterialInventory修改"); |
| | | }else if(MaterialInventoryCount.isEmpty()) { |
| | | materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory); |
| | | log.setFunction("saveMaterialInventory新增"); |
| | | }else { |
| | | return "false1"; |
| | | } |
| | | |
| | | String json=""; |
| | | MaterialStore materialStore=materialStoreMapper.getSelectMaterialStoreById(materialCode); |
| | | json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1); |
| | | MaterialLog materialLog=new MaterialLog(); |
| | | if(materialInventory.getDateOfManufacture()!=null){ |
| | | materialLog.setOperationOrderNumber(materialInventory.getDateOfManufacture().toString()); |
| | | } |
| | | materialLog.setOperateType("物料新增"); |
| | | materialLog.setMaterialCode(materialCode); |
| | | materialLog.setMaterialName(convertString(json,"\"name\"")); |
| | | materialLog.setProducer(materialInventory.getProducer()); |
| | | materialLog.setUnit(convertString(json,"\"unit\"")); |
| | | materialLog.setWidth(convertDouble(json,"\"width\"")); |
| | | materialLog.setHeight(convertDouble(json,"\"height\"")); |
| | | materialLog.setThickness(convertDouble(json,"\"thickness\"")); |
| | | materialLog.setQuantity(materialInventory.getInventoryQuantity()); |
| | | materialLog.setSinglePieceArea(singlePieceArea); |
| | | materialLog.setInventoryId(materialInventory.getId()); |
| | | materialLog.setInventoryArea(materialInventory.getInventoryArea()); |
| | | materialLog.setRemarks(materialInventory.getRemarks()); |
| | | materialLog.setOperator(object.get("userName").toString()); |
| | | materialLog.setOperateTime(LocalDate.now()); |
| | | materialLogMapper.insert(materialLog); |
| | | logService.saveLog(log); |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("saveMaterialInventory"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = "false"; |
| | | |
| | | } |
| | | return saveState; |
| | | |
| | |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", materialInventoryMapper.getSelectMaterialInventory(offset, pageSize, materialInventory)); |
| | | map.put("total", materialInventoryMapper.getSelectMaterialInventoryPageTotal(offset, pageSize, materialInventory)); |
| | | List<Long> ids=new ArrayList<>();; |
| | | if(materialInventory.getStockId()!=null && !materialInventory.getStockId().isEmpty()){ |
| | | List<String> result = StrUtil.split(materialInventory.getStockId(), '|'); |
| | | ids=result.stream().map(Long::valueOf).collect(Collectors.toList()); |
| | | } |
| | | map.put("data", materialInventoryMapper.getSelectMaterialInventory(offset, pageSize, materialInventory,ids)); |
| | | map.put("total", materialInventoryMapper.getSelectMaterialInventoryPageTotal(offset, pageSize, materialInventory,ids)); |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectMaterialInventoryEngineering(Integer pageNum, Integer pageSize, OptimizeUse optimizeUse) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | System.out.println(optimizeUse); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", materialInventoryMapper.getSelectMaterialInventoryEngineering(offset, pageSize, optimizeUse)); |
| | | map.put("total", materialInventoryMapper.getSelectMaterialInventoryEngineeringPageTotal(offset, pageSize, optimizeUse)); |
| | | List<Long> ids=new ArrayList<>();; |
| | | if(optimizeUse.getRawStockCode()!=null && !optimizeUse.getRawStockCode().isEmpty()){ |
| | | List<String> result = StrUtil.split(optimizeUse.getRawStockCode(), '|'); |
| | | ids=result.stream().map(Long::valueOf).collect(Collectors.toList()); |
| | | } |
| | | map.put("data", materialInventoryMapper.getSelectMaterialInventoryEngineering(offset, pageSize, optimizeUse,ids)); |
| | | map.put("total", materialInventoryMapper.getSelectMaterialInventoryEngineeringPageTotal(offset, pageSize, optimizeUse,ids)); |
| | | return map; |
| | | } |
| | | |
| | |
| | | materialOutboundId = object.get("materialOutboundId").toString(); |
| | | } |
| | | if(materialOutboundId!=null){ |
| | | List<MaterialOutboundDetail> materialOutboundDetailLists = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId); |
| | | if (!materialOutboundDetailLists.isEmpty()) { |
| | | for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailLists) { |
| | | //还原物料库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | //还原优化工程库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOptInt(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId); |
| | | materialInventoryMapper.deleteMaterialOutbound(materialOutboundId); |
| | | materialInventoryMapper.deleteMaterialLog(materialOutboundId); |
| | | } |
| | | |
| | | Log log = new Log(); |
| | | log.setContent(object.toString()); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setFunction("deleteMaterialOutbound删除:"+materialOutboundId); |
| | | logService.saveLog(log); |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("deleteMaterialOutbound"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | return saveState; |
| | | |
| | | } |
| | | |
| | | public Boolean deleteReturnToStorage(Map<String,Object> object) { |
| | | boolean saveState = true; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | String returningId = ""; |
| | | if (object.get("returningId") != null) { |
| | | returningId = object.get("returningId").toString(); |
| | | } |
| | | if(returningId!=null){ |
| | | |
| | | List<ReturningWarehouseDetail> returningWarehouseDetailLists = materialInventoryMapper.getIsNotReturningWarehouseDetail(returningId); |
| | | if (!returningWarehouseDetailLists.isEmpty()) { |
| | | for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailLists) { |
| | | //还原物料库存数 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity()); |
| | | } |
| | | } |
| | | |
| | | materialInventoryMapper.deleteReturningWarehouseDetail(returningId); |
| | | materialInventoryMapper.deleteReturningWarehouse(returningId); |
| | | materialInventoryMapper.deleteMaterialLog(returningId); |
| | | } |
| | | Log log = new Log(); |
| | | log.setContent(object.toString()); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setFunction("deleteReturnToStorage:"+returningId); |
| | | logService.saveLog(log); |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("deleteMaterialOutbound"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | |
| | | if (object.get("reviewed") != null) { |
| | | reviewed = object.get("reviewed").toString(); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperator(reviewed); |
| | | log.setContent(object.toString()); |
| | | log.setFunction("updateMaterialOutboundToExamine:"+type); |
| | | logService.saveLog(log); |
| | | |
| | | if (type==1){ |
| | | List<MaterialOutboundDetail> materialOutboundDetailList = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId); |
| | | if (!materialOutboundDetailList.isEmpty()) { |
| | | for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailList) { |
| | | if(materialOutboundDetail.getUseId()==null){ |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | //修改物料库存数量 |
| | | materialInventoryMapper.updateMaterialInventoryInventoryPlanQuantityOut(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | }else{ |
| | | materialInventoryMapper.updateMaterialInventoryInventoryOut(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | } |
| | | |
| | |
| | | List<MaterialOutboundDetail> materialOutboundDetailList = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId); |
| | | if (!materialOutboundDetailList.isEmpty()) { |
| | | for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailList) { |
| | | if(materialOutboundDetail.getUseId()==null){ |
| | | if(materialOutboundDetail.getUseId()!=null){ |
| | | //修改物料库存数量 |
| | | materialInventoryMapper.updateMaterialInventoryInventoryPlanQuantityInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | }else{ |
| | | materialInventoryMapper.updateMaterialInventoryInventoryInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity()); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("updateMaterialOutboundToExamine"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | |
| | | boolean saveState = true; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | String returningId = ""; |
| | | String oddNumber; |
| | | if (object.get("returningId") != null) { |
| | | returningId = object.get("returningId").toString(); |
| | | } |
| | | try { |
| | | String returningId = ""; |
| | | String oddNumber; |
| | | if (object.get("returningId") != null) { |
| | | returningId = object.get("returningId").toString(); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setContent(object.toString()); |
| | | |
| | | ReturningWarehouse returningWarehouse = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), ReturningWarehouse.class); |
| | | List<ReturningWarehouseDetail> returningWarehouseDetailList = JSONArray.parseArray(JSONObject.toJSONString(object.get("returningWarehouseDetail")), ReturningWarehouseDetail.class); |
| | | //查询出库单是否存在 |
| | |
| | | //删除材料出库明细的数据 |
| | | materialInventoryMapper.deleteReturningWarehouseDetail(returningId); |
| | | oddNumber = returningId; |
| | | log.setFunction("saveReturningWarehouse修改:"+oddNumber); |
| | | } else { |
| | | //获取单号 |
| | | oddNumber = orderNumberSetting("返库"); |
| | | //新增材料出库表数据 |
| | | materialInventoryMapper.insertReturningWarehouse(returningWarehouse, oddNumber); |
| | | log.setFunction("saveReturningWarehouse新增:"+oddNumber); |
| | | } |
| | | |
| | | |
| | |
| | | json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1); |
| | | |
| | | |
| | | double width= convert(json,"\"width\""); |
| | | double height=convert(json,"\"height\""); |
| | | double width= convertDouble(json,"\"width\""); |
| | | double height= convertDouble(json,"\"height\""); |
| | | DecimalFormat decimalFormat = new DecimalFormat("#0.00"); |
| | | singlePieceArea= Double.parseDouble(decimalFormat.format(width * height / 100000)); |
| | | totalArea= Double.parseDouble(decimalFormat.format(singlePieceArea * returningWarehouseDetail.getReturnQuantity())); |
| | | |
| | | |
| | | //查询物料是否存在 |
| | | Integer MaterialInventoryCount=0; |
| | | List<MaterialInventory> MaterialInventoryCount; |
| | | if (returningWarehouseDetail.getDateOfManufacture()!=null){ |
| | | MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture()); |
| | | }else{ |
| | |
| | | } |
| | | |
| | | |
| | | if(MaterialInventoryCount>0){ |
| | | if(!MaterialInventoryCount.isEmpty()){ |
| | | if (returningWarehouseDetail.getDateOfManufacture()!=null){ |
| | | materialInventoryMapper.updateMaterialInventoryReturning(returningWarehouseDetail.getId(),singlePieceArea,totalArea,returningWarehouseDetail); |
| | | }else{ |
| | |
| | | |
| | | |
| | | |
| | | MaterialLog materialLog=new MaterialLog(); |
| | | materialLog.setOperationOrderNumber(oddNumber); |
| | | materialLog.setOperationNumber(returningWarehouseDetailMaximum + 1); |
| | | materialLog.setOperateType("物料返库"); |
| | | materialLog.setMaterialCode(returningWarehouseDetail.getId()); |
| | | materialLog.setMaterialName(convertString(json,"\"name\"")); |
| | | materialLog.setProducer(returningWarehouseDetail.getProducer()); |
| | | materialLog.setUnit(convertString(json,"\"unit\"")); |
| | | materialLog.setWidth(convertDouble(json,"\"width\"")); |
| | | materialLog.setHeight(convertDouble(json,"\"height\"")); |
| | | materialLog.setThickness(convertDouble(json,"\"thickness\"")); |
| | | materialLog.setQuantity(returningWarehouseDetail.getReturnQuantity()); |
| | | materialLog.setSinglePieceArea(singlePieceArea); |
| | | materialLog.setInventoryArea(returningWarehouseDetail.getInventoryArea()); |
| | | materialLog.setRemarks(returningWarehouseDetail.getRemarks()); |
| | | materialLog.setOperator(object.get("userName").toString()); |
| | | materialLog.setOperateTime(LocalDate.now()); |
| | | materialLogMapper.insert(materialLog); |
| | | |
| | | } |
| | | |
| | | } |
| | | logService.saveLog(log); |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("saveReturningWarehouse"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | return saveState; |
| | | |
| | | } |
| | |
| | | if (object.get("reviewed") != null) { |
| | | reviewed = object.get("reviewed").toString(); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperator(reviewed); |
| | | log.setContent(object.toString()); |
| | | log.setFunction("updateReturningWarehouseToExamine:"+type); |
| | | logService.saveLog(log); |
| | | |
| | | if (type==1){ |
| | | List<ReturningWarehouseDetail> returningWarehouseDetailList = materialInventoryMapper.getIsNotReturningWarehouseDetail(returningId); |
| | | if (!returningWarehouseDetailList.isEmpty()) { |
| | | for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailList) { |
| | | //修改物料库存数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableInt(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity()); |
| | | materialInventoryMapper.updateMaterialInventoryInventoryInt(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity()); |
| | | } |
| | | } |
| | | materialInventoryMapper.updateReturningWarehouseToExamine(returningId,type,reviewed); |
| | |
| | | if (!returningWarehouseDetailList.isEmpty()) { |
| | | for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailList) { |
| | | //修改物料库存数量 |
| | | materialInventoryMapper.updateMaterialInventoryAvailableOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity()); |
| | | materialInventoryMapper.updateMaterialInventoryInventoryOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity()); |
| | | } |
| | | } |
| | | materialInventoryMapper.updateReturningWarehouseCounterExamination(returningId,type,reviewed); |
| | |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("updateReturningWarehouseToExamine"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectSurplusMaterialsDate(Integer pageNum, Integer pageSize, List<String> selectDate, SurplusMaterials surplusMaterials) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", materialInventoryMapper.getSelectSurplusMaterialsDate(offset, pageSize,startDate, endDate, surplusMaterials)); |
| | | map.put("total", materialInventoryMapper.getSelectSurplusMaterialsDatePageTotal(offset, pageSize,startDate, endDate, surplusMaterials)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | return map; |
| | | } |
| | | |
| | | public Boolean addSelectSurplusMaterialsDate(Map<String,Object> object) { |
| | | boolean saveState = true; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | |
| | | String creator = ""; |
| | | if (object.get("creator") != null) { |
| | | creator = object.get("creator").toString(); |
| | | } |
| | | String type = ""; |
| | | if (object.get("type") != null) { |
| | | type = object.get("type").toString(); |
| | | } |
| | | int state = 0; |
| | | if (object.get("state") != null) { |
| | | state = Integer.parseInt(object.get("state").toString()); |
| | | } |
| | | Log log = new Log(); |
| | | log.setOperator(creator); |
| | | log.setContent(object.toString()); |
| | | log.setFunction("addSelectSurplusMaterialsDate:"+state); |
| | | logService.saveLog(log); |
| | | |
| | | if(state==1){ |
| | | SurplusMaterials surplusMaterials = JSONObject.parseObject(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class); |
| | | if(surplusMaterials!=null){ |
| | | SurplusMaterials surplusMaterials1=materialInventoryMapper.selectSurplusMaterialsCount(surplusMaterials); |
| | | if(surplusMaterials1!=null){ |
| | | materialInventoryMapper.updateSurplusMaterialsIntQuantity(surplusMaterials1); |
| | | materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials1,creator,type); |
| | | }else{ |
| | | materialInventoryMapper.insertSurplusMaterials(surplusMaterials); |
| | | materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type); |
| | | } |
| | | } |
| | | } else if (state==2) { |
| | | List<SurplusMaterials> surplusMaterialsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class); |
| | | if(!surplusMaterialsList.isEmpty()){ |
| | | for(SurplusMaterials surplusMaterials:surplusMaterialsList){ |
| | | materialInventoryMapper.updateSurplusMaterialsOutQuantity(surplusMaterials); |
| | | materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | return saveState; |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | public Map<String, Object> printCreateOutbound(String materialOutboundId) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("createOutbound", materialInventoryMapper.getPrintCreateOutbound(materialOutboundId)); |
| | | map.put("createOutboundDetail", materialInventoryMapper.getPrintCreateOutboundDetail(materialOutboundId)); |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getMaterialLogReport(String type,Integer pageNum, Integer pageSize, List<String> selectDate, MaterialLog materialLog) { |
| | | Integer offset = (pageNum-1)*pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", materialInventoryMapper.getMaterialLogReport(offset, pageSize,startDate, endDate, materialLog,type)); |
| | | map.put("total", materialInventoryMapper.getMaterialLogReportTotal(offset, pageSize,startDate, endDate, materialLog,type)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | return map; |
| | | } |
| | | |
| | | public List<MaterialLog> exportMaterialLogReport(List<LocalDate> dates, String type) { |
| | | return materialInventoryMapper.exportMaterialLogReport(dates,type); |
| | | } |
| | | |
| | | |
| | | public Boolean deleteMaterialInventory(Map<String,Object> object) { |
| | | String creator = ""; |
| | | if (object.get("creator") != null) { |
| | | creator = object.get("creator").toString(); |
| | | } |
| | | String ids = ""; |
| | | if (object.get("ids") != null) { |
| | | ids = object.get("ids").toString(); |
| | | } |
| | | List<Long> id=new ArrayList<>(); |
| | | if(!ids.isEmpty()){ |
| | | List<String> result = StrUtil.split(ids, '|'); |
| | | id=result.stream().map(Long::valueOf).collect(Collectors.toList()); |
| | | } |
| | | materialInventoryMapper.deleteMaterialInventory(id); |
| | | Log log = new Log(); |
| | | log.setOperator(creator); |
| | | log.setContent(object.toString()); |
| | | log.setFunction("deleteMaterialInventory:"+ids); |
| | | logService.saveLog(log); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public String orderNumberSetting(String type) { |
| | |
| | | } |
| | | |
| | | |
| | | public double convert(String json,String string) { |
| | | public String convertString(String json,String string) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | String[] keyValues = json.split(","); |
| | | for (String keyValue : keyValues) { |
| | |
| | | map.put(pair[0], pair[1]); |
| | | } |
| | | } |
| | | double number=0.0; |
| | | return map.get(string).toString().replace("\"",""); |
| | | } |
| | | |
| | | public Double convertDouble(String json,String string) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | String[] keyValues = json.split(","); |
| | | for (String keyValue : keyValues) { |
| | | String[] pair = keyValue.split(":"); |
| | | if (pair.length == 2) { |
| | | map.put(pair[0], pair[1]); |
| | | } |
| | | } |
| | | Double number=0.0; |
| | | if(map.get(string)!=null){ |
| | | String[] widthStrings = map.get(string).toString().split("\\D+"); |
| | | for (String numberString : widthStrings) { |
| | |
| | | |
| | | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean mesMaterialOutbound(Map<String, Object> reportingWorkMap) { |
| | | boolean saveState=true; |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | //接收解析主附表信息 |
| | | JSONObject reportingWorkJson = new JSONObject(reportingWorkMap); |
| | | String projectNo=reportingWorkJson.get("projectNo").toString(); |
| | | Double width= Double.valueOf(reportingWorkJson.get("width").toString()); |
| | | Double height= Double.valueOf(reportingWorkJson.get("height").toString()); |
| | | Integer quantity= Integer.valueOf(reportingWorkJson.get("quantity").toString()); |
| | | |
| | | List<MaterialOutbound> materialOutboundList=materialInventoryMapper.getSelectMaterialOutboundProjectNo(projectNo); |
| | | OptimizeUse optimizeUses=materialInventoryMapper.getSelectOptimizeUses(projectNo,width,height); |
| | | |
| | | |
| | | MaterialInventory materialInventory=materialInventoryMapper.getMaterialInventoryById(Long.valueOf(optimizeUses.getRawStockCode())); |
| | | if(materialOutboundList.size()==1){ |
| | | List<MaterialOutboundDetail> materialOutboundDetailList=materialInventoryMapper.getSelectMaterialOutboundOptimizeUses(materialOutboundList.get(0).getMaterialOutboundId(),optimizeUses.getId()); |
| | | List<MaterialOutboundDetail> materialOutboundDetailList1=materialInventoryMapper.getSelectMaterialOutboundOptimizeUses(materialOutboundList.get(0).getMaterialOutboundId(),null); |
| | | if(materialOutboundDetailList.size()==1){ |
| | | materialInventoryMapper.updateMaterialOutboundOptimizeUses(optimizeUses.getId(),quantity); |
| | | }else{ |
| | | materialInventoryMapper.insertMaterialOutboundDetailOptimizeUses(materialOutboundList.get(0).getMaterialOutboundId(), |
| | | materialOutboundDetailList1.size()+1,Long.valueOf(optimizeUses.getRawStockCode()),materialInventory.getMaterialCode(),materialInventory.getInventoryArea(), |
| | | optimizeUses.getId(),quantity,materialInventory.getSinglePieceArea(),materialInventory.getDateOfManufacture()); |
| | | } |
| | | }else if(materialOutboundList.isEmpty()){ |
| | | String oddNumber = orderNumberSetting("出库"); |
| | | materialInventoryMapper.insertMaterialOutboundOptimizeUses(oddNumber,projectNo,reportingWorkJson.get("userName").toString()); |
| | | materialInventoryMapper.insertMaterialOutboundDetailOptimizeUses(oddNumber, 1,Long.valueOf(optimizeUses.getRawStockCode()),materialInventory.getMaterialCode(),materialInventory.getInventoryArea(), |
| | | optimizeUses.getId(),quantity,materialInventory.getSinglePieceArea(),materialInventory.getDateOfManufacture()); |
| | | }else{ |
| | | return false; |
| | | } |
| | | materialInventoryMapper.updateMaterialInventoryAvailableInventoryOutMes(Long.valueOf(optimizeUses.getRawStockCode()),quantity); |
| | | materialInventoryMapper.updateOptimizeUsesMes(optimizeUses.getId(),quantity); |
| | | |
| | | //保存日志 |
| | | Log log = new Log(); |
| | | log.setContent(reportingWorkMap.toString()); |
| | | log.setFunction("mesMaterialOutbound报工新增"); |
| | | log.setOperatorId((String) reportingWorkJson.get("userId")); |
| | | log.setOperator((String) reportingWorkJson.get("userName")); |
| | | logService.saveLog(log); |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("mesMaterialOutbound报工新增"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | return saveState; |
| | | } |
| | | |
| | | |
| | | public String cancelMaterialAdditionRecord(Map<String,Object> object) { |
| | | String saveState = "true"; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | Log log = new Log(); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setFunction("cancelMaterialAdditionRecord物料新增撤销"); |
| | | log.setContent(object.toString()); |
| | | //获取对象集合循环进行新增修改 |
| | | List<MaterialLog> materialLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("materialAdd")), MaterialLog.class); |
| | | if (!materialLoglist.isEmpty()){ |
| | | for (MaterialLog materialLog : materialLoglist) { |
| | | |
| | | //查询物料是否存在 |
| | | List<MaterialInventory> MaterialInventoryList; |
| | | if (materialLog.getOperationOrderNumber()!=null){ |
| | | MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCount(materialLog.getMaterialCode(), LocalDate.parse(materialLog.getOperationOrderNumber())); |
| | | }else{ |
| | | MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCountNull(materialLog.getMaterialCode()); |
| | | } |
| | | |
| | | if(MaterialInventoryList.size()==1){ |
| | | if(MaterialInventoryList.get(0).getAvailableQuantity()>=materialLog.getQuantity()){ |
| | | if (materialLog.getOperationOrderNumber()!=null){ |
| | | materialInventoryMapper.updateMaterialInventoryOut(materialLog.getMaterialCode(),materialLog.getQuantity(),materialLog.getOperationOrderNumber()); |
| | | }else{ |
| | | materialInventoryMapper.updateMaterialInventoryNullOut(materialLog.getMaterialCode(),materialLog.getQuantity()); |
| | | } |
| | | materialInventoryMapper.deleteMaterialLogById(materialLog.getId()); |
| | | }else{ |
| | | return "false1"; |
| | | } |
| | | |
| | | }else{ |
| | | return "false2"; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | logService.saveLog(log); |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("cancelFinishedGoodsInventoryStorage"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = "false"; |
| | | |
| | | } |
| | | return saveState; |
| | | |
| | | } |
| | | |
| | | |
| | | public Map<String, Object> getOptimizeOutboundReport(String type, Integer pageNum, Integer pageSize, List<String> selectDate, MaterialLog materialLog) { |
| | | Integer offset = (pageNum-1)*pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", materialInventoryMapper.getOptimizeOutboundReport(offset, pageSize,startDate, endDate, materialLog,type)); |
| | | map.put("total", materialInventoryMapper.getOptimizeOutboundReportTotal(offset, pageSize,startDate, endDate, materialLog,type)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | return map; |
| | | } |
| | | } |