13 文件已重命名
8个文件已添加
5个文件已删除
16个文件已修改
| | |
| | | package com.consum.base.controller; |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelExportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.TemplateExportParams; |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.util.ReflectUtil; |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.LDeptFormScrappedParam; |
| | | import com.consum.base.pojo.query.LDeptFormScrappedQry; |
| | | import com.consum.base.service.DepFormScrappedServiceImpl; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | 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.web.ResponseValue; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.LDeptFormScrappedParam; |
| | | import com.consum.base.pojo.query.LDeptFormScrappedQry; |
| | | import com.consum.base.service.DepFormScrappedService; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | 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.web.ResponseValue; |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelExportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.TemplateExportParams; |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.util.ReflectUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | /** |
| | | * @ClassName DepFormScrappedController |
| | |
| | | @RequestMapping("/pc/l/wh/form/scrapped") |
| | | public class DepFormScrappedController extends BaseController { |
| | | @Resource |
| | | private DepFormScrappedServiceImpl depFormScrappedService; |
| | | private DepFormScrappedService depFormScrappedService; |
| | | |
| | | @ApiOperation(value = "新增报废单", notes = "新增报废单") |
| | | @PostMapping("/deptAdd") |
| | | public ResponseValue deptAdd() { |
| | | public ResponseValue deptAdd() throws Exception { |
| | | LDeptFormScrappedParam param = CommonUtil.getObjFromReqBody(LDeptFormScrappedParam.class); |
| | | LDeptFormScrappedParam query = new LDeptFormScrappedParam(); |
| | | CommonUtil.copyProperties(param, query); |
| | |
| | | |
| | | FinSysTenantUser sysInfo = this.getSysInfo(); |
| | | |
| | | return depFormScrappedService.add(param, this.getCurrentUser(), sysInfo); |
| | | depFormScrappedService.add(param, this.getCurrentUser(), sysInfo); |
| | | return ResponseValue.success(); |
| | | } |
| | | |
| | | /** |
| | | * @Description 列表查询 |
| | | * 1.查询报废单 2.查询报废单物品 |
| | | * @Description 列表查询 1.查询报废单 2.查询报废单物品 |
| | | * @Date |
| | | */ |
| | | @ApiOperation(value = "列表查询", notes = "列表查询") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "param", value = "查询条件", dataType = "LWhFormScrappedQry", paramType = "query") |
| | | }) |
| | | @ApiImplicitParam(name = "param", value = "查询条件", dataType = "LWhFormScrappedQry", paramType = "query")}) |
| | | @GetMapping("/deptList") |
| | | public ResponseValue queryList() { |
| | | LDeptFormScrappedQry param = CommonUtil.getObjFromReq(LDeptFormScrappedQry.class); |
| | |
| | | } else { |
| | | // 如果id在合并数据中已存在,则将k3追加到已存在记录的k3列表中 |
| | | Map<String, Object> mergedMap = mergedDataMap.get(id); |
| | | ArrayList<HashMap> goodsList = (ArrayList<HashMap>) mergedMap.get("goods"); |
| | | ArrayList<HashMap> goodsList = (ArrayList<HashMap>)mergedMap.get("goods"); |
| | | goodsList.add(hashMap); |
| | | } |
| | | } |
| | |
| | | * @Description 根据id查询详情 |
| | | */ |
| | | @ApiOperation(value = "根据id查询详情", notes = "根据id查询详情") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query") |
| | | }) |
| | | @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")}) |
| | | @GetMapping("/deptDetail") |
| | | public ResponseValue getById(Long id) { |
| | | if (id == null) { |
| | |
| | | } |
| | | |
| | | @ApiOperation(value = "导出报废单", notes = "导出报废单") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query") |
| | | }) |
| | | @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")}) |
| | | @GetMapping("/deptList/export") |
| | | public void export(Long id, HttpServletResponse response) throws Exception { |
| | | if (id == null) { |
| | |
| | | return ResponseValue.success(depFormScrappedService.listByModel2(param)); |
| | | } |
| | | |
| | | |
| | | // public static void main(String[] args) { |
| | | // TemplateExportParams exportParams = new TemplateExportParams("D:\\MyProjects\\jmy\\低值易耗品\\low-consum-manage\\deploy-jar-single\\src\\main\\resources\\import\\deptScrapped.xlsx"); |
| | | // exportParams.setHeadingStartRow(2); |
| | | // |
| | | // List<Map<String, Object>> export = new ArrayList<>(); |
| | | // |
| | | // // 创建第一条数据 |
| | | // Map<String, Object> data1 = new HashMap<>(); |
| | | // data1.put("agencyName", 1); |
| | | // data1.put("baseGoodsTemplateName", "Bob"); |
| | | // data1.put("scrappedName", "Bob"); |
| | | // data1.put("bz", "Bob"); |
| | | // data1.put("baseGoodsModelsName", 30); |
| | | // data1.put("counts", 30); |
| | | // data1.put("totalPrice", 30); |
| | | // export.add(data1); |
| | | // |
| | | // // 创建第二条数据 |
| | | // Map<String, Object> data2 = new HashMap<>(); |
| | | // data2.put("agencyName", 2); |
| | | // data2.put("baseGoodsTemplateName", "Bob"); |
| | | // data2.put("scrappedName", "Bob"); |
| | | // data2.put("bz", "Bob"); |
| | | // data2.put("baseGoodsModelsName", 30); |
| | | // data2.put("counts", 30); |
| | | // data2.put("totalPrice", 30); |
| | | // export.add(data2); |
| | | // |
| | | // |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("code", "2023"); |
| | | // map.put("date", "2023"); |
| | | // map.put("name", "operatorName"); |
| | | // map.put("countNum", 0); |
| | | // map.put("totalAmount", 0); |
| | | // map.put("maplist", export); |
| | | // |
| | | // Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map); |
| | | // |
| | | // File file = new File("C:\\Users\\cy\\Desktop\\新建文件夹"); |
| | | // OutputStream stream = null; |
| | | // try { |
| | | // SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd"); |
| | | // stream = new FileOutputStream(new File(file, "机构客户信息表.xls")); |
| | | // //document.write(stream); |
| | | // workbook.write(stream); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } finally { |
| | | // if (stream != null) ; |
| | | // try { |
| | | // stream.close(); |
| | | // } catch (IOException e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // } |
| | | // } |
| | | // public static void main(String[] args) { |
| | | // TemplateExportParams exportParams = new |
| | | // TemplateExportParams("D:\\MyProjects\\jmy\\低值易耗品\\low-consum-manage\\deploy-jar-single\\src\\main\\resources\\import\\deptScrapped.xlsx"); |
| | | // exportParams.setHeadingStartRow(2); |
| | | // |
| | | // List<Map<String, Object>> export = new ArrayList<>(); |
| | | // |
| | | // // 创建第一条数据 |
| | | // Map<String, Object> data1 = new HashMap<>(); |
| | | // data1.put("agencyName", 1); |
| | | // data1.put("baseGoodsTemplateName", "Bob"); |
| | | // data1.put("scrappedName", "Bob"); |
| | | // data1.put("bz", "Bob"); |
| | | // data1.put("baseGoodsModelsName", 30); |
| | | // data1.put("counts", 30); |
| | | // data1.put("totalPrice", 30); |
| | | // export.add(data1); |
| | | // |
| | | // // 创建第二条数据 |
| | | // Map<String, Object> data2 = new HashMap<>(); |
| | | // data2.put("agencyName", 2); |
| | | // data2.put("baseGoodsTemplateName", "Bob"); |
| | | // data2.put("scrappedName", "Bob"); |
| | | // data2.put("bz", "Bob"); |
| | | // data2.put("baseGoodsModelsName", 30); |
| | | // data2.put("counts", 30); |
| | | // data2.put("totalPrice", 30); |
| | | // export.add(data2); |
| | | // |
| | | // |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("code", "2023"); |
| | | // map.put("date", "2023"); |
| | | // map.put("name", "operatorName"); |
| | | // map.put("countNum", 0); |
| | | // map.put("totalAmount", 0); |
| | | // map.put("maplist", export); |
| | | // |
| | | // Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map); |
| | | // |
| | | // File file = new File("C:\\Users\\cy\\Desktop\\新建文件夹"); |
| | | // OutputStream stream = null; |
| | | // try { |
| | | // SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd"); |
| | | // stream = new FileOutputStream(new File(file, "机构客户信息表.xls")); |
| | | // //document.write(stream); |
| | | // workbook.write(stream); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } finally { |
| | | // if (stream != null) ; |
| | | // try { |
| | | // stream.close(); |
| | | // } catch (IOException e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | |
| | | package com.consum.base.controller; |
| | | |
| | | import cn.hutool.core.util.ReflectUtil; |
| | | import java.lang.reflect.Field; |
| | | import java.util.ArrayList; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.core.utils.MapUtils; |
| | |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.web.ResponseValue; |
| | | import io.swagger.annotations.Api; |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.lang.reflect.Field; |
| | | import java.util.ArrayList; |
| | | import java.util.Map; |
| | | import cn.hutool.core.util.ReflectUtil; |
| | | import io.swagger.annotations.Api; |
| | | |
| | | /** |
| | | * @ClassName lWarehouseFlowController |
| | |
| | | public class LWarehouseFlowController extends BaseController { |
| | | |
| | | @Resource |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | |
| | | @GetMapping("/list") |
| | | public ResponseValue queryFormProcureList() { |
| | |
| | | if (currentUser == null) { |
| | | return ResponseValue.error("登录用户信息不存在"); |
| | | } |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryBusinessFlow(param); |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowServiceImpl.queryBusinessFlow(param); |
| | | ArrayList<WarehouseFlowVO> result = Lists.newArrayList(); |
| | | genericPager.getDatas().forEach(map -> { |
| | | WarehouseFlowVO warehouseFlowVO = MapUtils.convertMapToObj(MapUtils.toReplaceKeyLow(map), WarehouseFlowVO.class); |
| | | WarehouseFlowVO warehouseFlowVO = |
| | | MapUtils.convertMapToObj(MapUtils.toReplaceKeyLow(map), WarehouseFlowVO.class); |
| | | result.add(warehouseFlowVO); |
| | | }); |
| | | try { |
| | | Field fieldDatas = GenericPager.class.getDeclaredField("datas"); |
| | | // fieldDatas.setAccessible(true); |
| | | // fieldDatas.set(genericPager, result); |
| | | // fieldDatas.setAccessible(true); |
| | | // fieldDatas.set(genericPager, result); |
| | | ReflectUtil.setFieldValue(genericPager, fieldDatas, result); |
| | | } catch (Exception e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | |
| | | return ResponseValue.success(genericPager); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/detail/list") |
| | | public ResponseValue queryFormProcureList1() { |
| | |
| | | if (currentUser == null) { |
| | | return ResponseValue.error("登录用户信息不存在"); |
| | | } |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryBusinessFlow(param); |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowServiceImpl.queryBusinessFlow(param); |
| | | return ResponseValue.success(genericPager); |
| | | } |
| | | |
| | |
| | | if (paramAgencyId == null || !paramAgencyId.toString().startsWith(tenantId)) { |
| | | param.setAgencyId(Long.valueOf(tenantId)); |
| | | } |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryTaiZhangList(param); |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowServiceImpl.queryTaiZhangList(param); |
| | | return ResponseValue.success(genericPager); |
| | | } |
| | | |
| | |
| | | if (paramAgencyId == null || !paramAgencyId.toString().startsWith(tenantId)) { |
| | | param.setAgencyId(Long.valueOf(tenantId)); |
| | | } |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryDeptTaiZhangList(param); |
| | | GenericPager<Map<String, Object>> genericPager = lWarehouseFlowServiceImpl.queryDeptTaiZhangList(param); |
| | | return ResponseValue.success(genericPager); |
| | | } |
| | | |
| | |
| | | @Autowired |
| | | private LWhProcureModelService lWhProcureModelService; |
| | | @Resource |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | |
| | | /** |
| | | * @Description 新增出库单 |
| | |
| | | return ResponseValue.error("登录用户信息不存在"); |
| | | } |
| | | formOutputQry.setAgencyId(Long.valueOf(currentUser.getTenantId())); |
| | | PageUtil genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry); |
| | | PageUtil genericPager = lWarehouseFlowServiceImpl.queryAllBusinessFlow(formOutputQry); |
| | | return ResponseValue.success(genericPager); |
| | | } |
| | | |
| | |
| | | import com.consum.base.service.LWhFormProcureGoodsService; |
| | | import com.consum.base.service.LWhFormProcureService; |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import com.consum.base.service.impl.LWhFormProcureCoreService; |
| | | import com.consum.base.service.core.LWhFormProcureCoreService; |
| | | import com.consum.model.po.BaseCategory; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormProcure; |
| | |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import com.consum.base.service.LWhProcureModelUserRecordService; |
| | | import com.consum.base.service.LWhProcureModelUserService; |
| | | import com.consum.base.service.impl.LWhFormTransferCoreService; |
| | | import com.consum.base.service.core.LWhFormTransferCoreService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | |
| | | return ResponseValue.error("登录用户信息不存在"); |
| | | } |
| | | String tenantId = sysInfo.getTenantId(); |
| | | param.setInAgencyId(Long.valueOf(tenantId)); |
| | | if (param.getInAgencyId() == null) { |
| | | param.setInAgencyId(Long.valueOf(tenantId)); |
| | | } |
| | | GenericPager<Map<String, Object>> mapGenericPager = lWhFormTransferService.queryFormTransferDetailList(param); |
| | | |
| | | return ResponseValue.success(mapGenericPager); |
| | |
| | | package com.consum.base.controller; |
| | | |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.query.LWhGoodsStatisQry; |
| | | import com.consum.base.service.LWhGoodsStatisticsServiceImpl; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.web.ResponseValue; |
| | | import io.swagger.annotations.Api; |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.query.LWhGoodsStatisQry; |
| | | import com.consum.base.service.LWhGoodsStatisticsService; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.web.ResponseValue; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | |
| | | /** |
| | | * @ClassName LWhGoodsStatisticsController |
| | |
| | | public class LWhGoodsStatisticsController extends BaseController { |
| | | |
| | | @Resource |
| | | private LWhGoodsStatisticsServiceImpl lWhGoodsStatisticsService; |
| | | private LWhGoodsStatisticsService lWhGoodsStatisticsService; |
| | | |
| | | @GetMapping("") |
| | | public ResponseValue getWhGoodsStatisList() { |
| | |
| | | package com.consum.base.controller; |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelImportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.ImportParams; |
| | | import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.handler.WhWarningImportVerifyHandler; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.pojo.WarnConfImEntity; |
| | | import com.consum.base.pojo.WhWarningConfigParam; |
| | | import com.consum.base.pojo.query.WhWarningConfigQry; |
| | | import com.consum.base.service.BaseWarehouseService; |
| | | import com.consum.base.service.LWhWarningConfigServiceImpl; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.WhWarningConfig; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.file.FileInfo; |
| | | import com.walker.infrastructure.utils.NumberGenerator; |
| | | import com.walker.web.ResponseCode; |
| | | import com.walker.web.ResponseValue; |
| | | import io.swagger.annotations.Api; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.core.io.ClassPathResource; |
| | | import org.springframework.core.io.InputStreamResource; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.handler.WhWarningImportVerifyHandler; |
| | | import com.consum.base.pojo.WarnConfImEntity; |
| | | import com.consum.base.pojo.WhWarningConfigParam; |
| | | import com.consum.base.pojo.query.WhWarningConfigQry; |
| | | import com.consum.base.service.BaseWarehouseService; |
| | | import com.consum.base.service.LWhWarningConfigService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.WhWarningConfig; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.file.FileInfo; |
| | | import com.walker.infrastructure.utils.NumberGenerator; |
| | | import com.walker.web.ResponseCode; |
| | | import com.walker.web.ResponseValue; |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelImportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.ImportParams; |
| | | import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; |
| | | import cn.hutool.core.convert.Convert; |
| | | import io.swagger.annotations.Api; |
| | | |
| | | /** |
| | | * @ClassName LWhWarningConfigController |
| | | * @Author cy |
| | |
| | | public class LWhWarningConfigController extends BaseController { |
| | | |
| | | @Resource |
| | | private LWhWarningConfigServiceImpl lWhWarningConfigService; |
| | | private LWhWarningConfigService lWhWarningConfigService; |
| | | @Resource |
| | | private BaseWarehouseService baseWarehouseService; |
| | | private ObjectMapper mapper = new ObjectMapper(); |
| | |
| | | package com.consum.base.controller; |
| | | |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.query.WhWarningQry; |
| | | import com.consum.base.service.LWhWarningServiceImpl; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.web.ResponseValue; |
| | | import io.swagger.annotations.Api; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Map; |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.service.core.LWhWarningCoreService; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.pojo.query.WhWarningQry; |
| | | import com.consum.base.service.LWhWarningService; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.web.ResponseValue; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | |
| | | /** |
| | | * @ClassName LWhWarningConfigController |
| | |
| | | public class LWhWarningController extends BaseController { |
| | | |
| | | @Resource |
| | | private LWhWarningServiceImpl lWhWarningService; |
| | | private LWhWarningService lWhWarningService; |
| | | @Resource |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | |
| | | |
| | | @GetMapping("/getWarningTypeNum") |
| | | public ResponseValue getWarningTypeNum() { |
| | |
| | | } |
| | | |
| | | |
| | | @Resource |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | |
| | | |
| | | @GetMapping("/handerChenKuCun") |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.consum.base.pojo.LDeptFormScrappedParam; |
| | | import com.consum.base.pojo.query.LDeptFormScrappedQry; |
| | | import com.consum.base.pojo.response.DepFormScrappedExtendVo; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.jdbc.service.BaseService; |
| | | |
| | | /** |
| | | * DepFormScrappedService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 10:48 |
| | | **/ |
| | | public interface DepFormScrappedService extends BaseService { |
| | | void add(LDeptFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) throws Exception; |
| | | |
| | | GenericPager<Map<String, Object>> queryList(LDeptFormScrappedQry param); |
| | | |
| | | DepFormScrappedExtendVo getById(Long id); |
| | | |
| | | List<Map<String, Object>> export(Long id, String agencyId); |
| | | |
| | | List<Map<String, Object>> listByModel(LDeptFormScrappedQry param); |
| | | |
| | | GenericPager<Map<String, Object>> listByModel2(LDeptFormScrappedQry param); |
| | | } |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.walker.jdbc.service.BaseService; |
| | | |
| | | /** |
| | | * GoodsBaseService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 11:07 |
| | | **/ |
| | | public interface GoodsBaseService extends BaseService { |
| | | |
| | | } |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.model.po.LGoodsUserRecord; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | | import com.consum.model.po.LWhProcureModelUser; |
| | | import com.consum.model.po.LWhProcureModelUserRecord; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @ClassName LGoodsUserRecordCoreService |
| | |
| | | public class LGoodsUserRecordCoreService { |
| | | |
| | | @Resource |
| | | private GoodsBaseServiceImpl goodsBaseService; |
| | | private GoodsBaseService goodsBaseService; |
| | | @Resource |
| | | private LWhGoodsService lWhGoodsService; |
| | | @Resource |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * @ClassName LOrgSupplierServiceImpl |
| | | |
| | | * |
| | | * @Date 2023/11/1 |
| | | * @Description |
| | | * @Version 1.0 |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.type.MixType; |
| | | import com.consum.base.core.utils.*; |
| | | import com.consum.base.pojo.LWarehouseFlowParam; |
| | | import com.consum.base.pojo.query.LWhFormOutputQry; |
| | | import com.consum.base.pojo.response.OutAndInDetailVO; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.consum.base.core.utils.PageUtil; |
| | | import com.consum.base.pojo.LWarehouseFlowParam; |
| | | import com.consum.base.pojo.query.LWhFormOutputQry; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.jdbc.service.BaseService; |
| | | |
| | | /** |
| | | * @ClassName LWarehouseFlowService |
| | | * @Date 2023/10/25 |
| | | * @Description |
| | | * @Version 1.0 |
| | | * LWarehouseFlowService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 11:01 |
| | | **/ |
| | | @Service |
| | | public class LWarehouseFlowService extends BaseServiceImpl { |
| | | public interface LWarehouseFlowService extends BaseService { |
| | | |
| | | /** |
| | | * 查询明细 |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | private String QUERY_BUSINESS_FLOW = "SELECT flow.BUSINESS_TYPE,flow.BUSINESS_FORM_ID,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.BUSINESS_FORM_CODE END BUSINESS_FORM_CODE,record.GOODS_TEMPLATE_NAME,record.BASE_GOODS_MODELS_NAME,record.THIS_COUNT,record.THIS_TYPE,record.total_price,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME END AGENCY_NAME,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUYER_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.OPERATOR_NAME END created_Name,flow.DEAL_TIME deal_Time FROM L_WAREHOUSE_FLOW flow LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.id=flow.BUSINESS_FORM_ID WHERE 1=1 "; |
| | | GenericPager<Map<String, Object>> queryBusinessFlow(LWarehouseFlowParam param); |
| | | |
| | | public GenericPager<Map<String, Object>> queryBusinessFlow(LWarehouseFlowParam param) { |
| | | StringBuilder sql = new StringBuilder(QUERY_BUSINESS_FLOW); |
| | | Map<String, Object> paramts = new HashMap<>(); |
| | | // ArrayList<Object> params = new ArrayList<>(); |
| | | if (param.getBusinessType() != null) { |
| | | sql.append(" and flow.BUSINESS_TYPE =:businessType"); |
| | | paramts.put("businessType", param.getBusinessType()); |
| | | // sql.append(" and flow.BUSINESS_TYPE =?"); |
| | | // params.add(param.getBusinessType()); |
| | | } |
| | | if (StringUtils.isNotEmpty(param.getBusinessFormCode())) { |
| | | sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode" |
| | | + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END"); |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | // sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN flow.BUSINESS_FORM_CODE=?"); |
| | | // params.add(param.getBusinessFormCode()); |
| | | } |
| | | if (param.getGoodsTemplateName() != null) { |
| | | sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | // sql.append(" AND record.GOODS_TEMPLATE_NAME like ?"); |
| | | // params.add(StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getBaseGoodsModelsName() != null) { |
| | | sql.append(" AND record.BASE_GOODS_MODELS_NAME like :baseGoodsModelsName"); |
| | | paramts.put("baseGoodsModelsName", StringUtils.CHAR_PERCENT + param.getBaseGoodsModelsName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" AND tCaiGou.AGENCY_id=:agencyId"); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | if (param.getCreatedName() != null) { |
| | | sql.append(" AND CASE" + " WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME LIKE :createdName" |
| | | + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME LIKE :createdName END"); |
| | | paramts.put("createdName", StringUtils.CHAR_PERCENT + param.getCreatedName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getDealTimeStart() != null) { |
| | | sql.append(" and flow.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000); |
| | | } |
| | | if (param.getDealTimeEnd() != null) { |
| | | sql.append(" and flow.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000); |
| | | } |
| | | return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper()); |
| | | } |
| | | GenericPager<Map<String, Object>> queryTaiZhangList(LWarehouseFlowParam param); |
| | | |
| | | GenericPager<Map<String, Object>> queryDeptTaiZhangList(LWarehouseFlowParam param); |
| | | |
| | | /** |
| | | * 台账查询 |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | private String QUERY_TAIZHANG_LIST_QUERY = "SELECT CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4 ) and flow.THIS_TYPE=1 THEN tTrans.IN_AGENCY_NAME WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4 ) and flow.THIS_TYPE=2 THEN tTrans.OUT_AGENCY_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.AGENCY_NAME WHEN flow.BUSINESS_TYPE = 6 THEN tBack.AGENCY_NAME WHEN flow.BUSINESS_TYPE=7 THEN tInventory.AGENCY_NAME END AGENCY_NAME,ware.WAREHOUSE_NAME,record.GOODS_TEMPLATE_NAME,record.BASE_GOODS_MODELS_NAME,record.THIS_TYPE,flow.BUSINESS_TYPE,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUSINESS_FORM_CODE WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE = 6 THEN tBack.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=7 THEN tInventory.BUSINESS_FORM_CODE END BUSINESS_FORM_CODe,record.THIS_COUNT,record.INITIAL_COUNT,record.END_COUNT,flow.DEAL_TIME,CASE WHEN flow.BUSINESS_TYPE=2 AND tTrans.STATES=1 THEN record.THIS_COUNT ELSE 0 END zai_Tu_Count FROM (SELECT*FROM BASE_WAREHOUSE WHERE 1=1 "; |
| | | private String QUERY_TAIZHANG_LIST_RECORD = ")ware LEFT JOIN L_WAREHOUSE_FLOW flow ON ware.id=flow.WAREHOUSE_ID AND flow.WAREHOUSE_TYPE=0 LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID "; |
| | | private String QUERY_TAIZHANG_LIST_END = " WHERE record.id IS NOT NULL"; |
| | | private String QUERY_TAIZHANG_LIST_CAIGOU = " LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_TAIZHANG_LIST_DIAOBO = " LEFT JOIN L_WH_FORM_TRANSFER tTrans ON (flow.BUSINESS_TYPE=2 or flow.BUSINESS_TYPE=4) AND tTrans.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_TAIZHANG_LIST_CHUKU = " LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_TAIZHANG_LIST_PANDIAN = " LEFT JOIN L_WH_FORM_INVENTORY tInventory ON flow.BUSINESS_TYPE=7 AND tInventory.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_TAIZHANG_LIST_BAOFEI = " LEFT JOIN L_WH_FORM_SCRAPPED tScrapped ON flow.BUSINESS_TYPE=5 AND tScrapped.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_TAIZHANG_LIST_DEP_TUIHUI = " LEFT JOIN USING_FORM_BACK tBack ON flow.BUSINESS_TYPE=6 AND tBack.id=flow.BUSINESS_FORM_ID "; |
| | | |
| | | public GenericPager<Map<String, Object>> queryTaiZhangList(LWarehouseFlowParam param) { |
| | | StringBuilder sqlQuery = new StringBuilder(QUERY_TAIZHANG_LIST_QUERY); |
| | | StringBuilder sqlEndRecord = new StringBuilder(QUERY_TAIZHANG_LIST_RECORD); |
| | | StringBuilder sqlCaiGou = new StringBuilder(QUERY_TAIZHANG_LIST_CAIGOU); |
| | | StringBuilder sqlDiaoBo = new StringBuilder(QUERY_TAIZHANG_LIST_DIAOBO); |
| | | StringBuilder sqlChuKu = new StringBuilder(QUERY_TAIZHANG_LIST_CHUKU); |
| | | StringBuilder sqlBaoFei = new StringBuilder(QUERY_TAIZHANG_LIST_BAOFEI); |
| | | StringBuilder sqlDepTuiHui = new StringBuilder(QUERY_TAIZHANG_LIST_DEP_TUIHUI); |
| | | StringBuilder sqlPanDian = new StringBuilder(QUERY_TAIZHANG_LIST_PANDIAN); |
| | | StringBuilder sqlEnd = new StringBuilder(QUERY_TAIZHANG_LIST_END); |
| | | |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | //机构 |
| | | if (param.getAgencyId() != null) { |
| | | // sqlQuery.append(" AND left(AGENCY_ID, length(:lengthAgencyId)) = :agencyId"); |
| | | sqlQuery.append(" AND AGENCY_ID=:agencyId"); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | //仓库类型 |
| | | if (param.getWarehouseType() != null) { |
| | | sqlQuery.append(" AND WAREHOUSE_TYPE = :warehouseType"); |
| | | paramts.put("warehouseType", param.getWarehouseType()); |
| | | } |
| | | if (param.getBaseWarehouseId() != null) { |
| | | sqlQuery.append(" AND id = :warehouseId"); |
| | | paramts.put("warehouseId", param.getBaseWarehouseId()); |
| | | } |
| | | //物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sqlEnd.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getGoodsTemplateId() != null) { |
| | | sqlEnd.append(" AND record.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId"); |
| | | paramts.put("goodsTemplateId", param.getGoodsTemplateId()); |
| | | } |
| | | //规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sqlEnd.append(" AND record.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | // 同码表,1采购入库 2退还入库 3调拨入库 4盘盈入库 5申领出库 6调拨出库 7盘亏出库 8报废出库 9其他出库 |
| | | Short flowType = param.getFlowType(); |
| | | if (flowType != null) { |
| | | Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByFlowType(flowType); |
| | | //本次调整类型(1=调增;2=调减) |
| | | Short flowThisType = typeByFlowType.get("flowThisType"); |
| | | //单据类型 1 采购2 调拨 3出库4部门分发5报废6部门物品回退仓库7物品盘点 |
| | | Short flowBusinessType = typeByFlowType.get("flowBusinessType"); |
| | | if (flowThisType != null) { |
| | | sqlEnd.append(" AND flow.THIS_TYPE=:flowThisType"); |
| | | paramts.put("flowThisType", flowThisType); |
| | | } |
| | | if (flowBusinessType != null) { |
| | | sqlEnd.append(" AND flow.BUSINESS_TYPE=:flowBusinessType"); |
| | | paramts.put("flowBusinessType", flowBusinessType); |
| | | } |
| | | } |
| | | // 单号 |
| | | String businessFormCode = param.getBusinessFormCode(); |
| | | if (StringUtils.isNotEmpty(businessFormCode)) { |
| | | sqlCaiGou.append(" and tCaiGou.BUSINESS_FORM_CODE = :caoGouBusinessFormCode"); |
| | | paramts.put("caoGouBusinessFormCode", businessFormCode); |
| | | sqlDiaoBo.append(" and tTrans.BUSINESS_FORM_CODE = :diaoBoBusinessFormCode"); |
| | | paramts.put("diaoBoBusinessFormCode", businessFormCode); |
| | | sqlChuKu.append(" and tFormOut.BUSINESS_FORM_CODE = :chuKuBusinessFormCode"); |
| | | paramts.put("chuKuBusinessFormCode", businessFormCode); |
| | | sqlBaoFei.append(" and tScrapped.BUSINESS_FORM_CODE = :baoFeiBusinessFormCode"); |
| | | paramts.put("baoFeiBusinessFormCode", businessFormCode); |
| | | sqlDepTuiHui.append(" and tBack.BUSINESS_FORM_CODE = :depTuiHuiBusinessFormCode"); |
| | | paramts.put("depTuiHuiBusinessFormCode", businessFormCode); |
| | | sqlPanDian.append(" and tInventory.BUSINESS_FORM_CODE = :panDianBusinessFormCode"); |
| | | paramts.put("panDianBusinessFormCode", businessFormCode); |
| | | |
| | | sqlEnd.append(" and case when flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE" + |
| | | " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4) THEN tTrans.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 5 THEN tScrapped.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 6 THEN tBack.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE end =:whereBusinessFormCode"); |
| | | paramts.put("whereBusinessFormCode", businessFormCode); |
| | | |
| | | |
| | | } |
| | | // 操作时间 |
| | | if (param.getDealTimeStart() != null) { |
| | | sqlEnd.append(" and flow.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000); |
| | | } |
| | | if (param.getDealTimeEnd() != null) { |
| | | sqlEnd.append(" and flow.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000); |
| | | } |
| | | sqlEnd.append(" ORDER BY record.DEAL_TIME desc,record.id DESC "); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(sqlQuery) |
| | | .append(sqlEndRecord) |
| | | .append(sqlCaiGou) |
| | | .append(sqlDiaoBo) |
| | | .append(sqlChuKu) |
| | | .append(sqlBaoFei) |
| | | .append(sqlDepTuiHui) |
| | | .append(sqlPanDian) |
| | | |
| | | .append(sqlEnd); |
| | | |
| | | return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | } |
| | | |
| | | /** |
| | | * 台账查询 |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | private String QUERY_DEPT_TAIZHANG_LIST_QUERY = "SELECT CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.OUT_AGENCY_NAME WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME WHEN flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=0 THEN tScrapped.AGENCY_NAME WHEN flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=1 THEN tDepScrapped.AGENCY_NAME WHEN flow.BUSINESS_TYPE=6 AND flow.WAREHOUSE_TYPE=1 THEN tBack.AGENCY_NAME WHEN flow.BUSINESS_TYPE=7 THEN tInventory.AGENCY_NAME END AGENCY_NAME,ware.NAME AS dept_name,record.GOODS_TEMPLATE_NAME,record.BASE_GOODS_MODELS_NAME,record.THIS_TYPE,flow.BUSINESS_TYPE,CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUSINESS_FORM_CODE WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=0 THEN tScrapped.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=1 THEN tDepScrapped.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=6 AND flow.WAREHOUSE_TYPE=1 THEN tBack.BUSINESS_FORM_CODE WHEN flow.BUSINESS_TYPE=7 THEN tInventory.BUSINESS_FORM_CODE END BUSINESS_FORM_CODe,record.THIS_COUNT,record.INITIAL_COUNT,record.END_COUNT,flow.DEAL_TIME,CASE WHEN flow.BUSINESS_TYPE=2 AND tTrans.STATES=1 THEN record.THIS_COUNT ELSE 0 END zai_Tu_Count FROM (SELECT*FROM fin_sys_tenant_department WHERE 1=1 "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_RECORD = ")ware LEFT JOIN L_WAREHOUSE_FLOW flow ON ware.id=flow.WAREHOUSE_ID AND flow.WAREHOUSE_TYPE=1 LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_END = " WHERE record.id IS NOT NULL"; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_CAIGOU = " LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_DIAOBO = " LEFT JOIN L_WH_FORM_TRANSFER tTrans ON (flow.BUSINESS_TYPE=2 or flow.BUSINESS_TYPE=4) AND tTrans.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_CHUKU = " LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_PANDIAN = " LEFT JOIN L_WH_FORM_INVENTORY tInventory ON flow.BUSINESS_TYPE=7 AND tInventory.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_BAOFEI = " LEFT JOIN L_WH_FORM_SCRAPPED tScrapped ON flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=0 AND tScrapped.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_DEP_BAOFEI = " LEFT JOIN DEP_FORM_SCRAPPED tDepScrapped ON flow.BUSINESS_TYPE=5 AND flow.WAREHOUSE_TYPE=1 AND tDepScrapped.id=flow.BUSINESS_FORM_ID "; |
| | | private String QUERY_DEPT_TAIZHANG_LIST_DEP_TUIHUI = " LEFT JOIN USING_FORM_BACK tBack ON flow.BUSINESS_TYPE=6 AND tBack.id=flow.BUSINESS_FORM_ID "; |
| | | |
| | | public GenericPager<Map<String, Object>> queryDeptTaiZhangList(LWarehouseFlowParam param) { |
| | | StringBuilder sqlQuery = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_QUERY); |
| | | StringBuilder sqlEndRecord = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_RECORD); |
| | | StringBuilder sqlCaiGou = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_CAIGOU); |
| | | StringBuilder sqlDiaoBo = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_DIAOBO); |
| | | StringBuilder sqlChuKu = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_CHUKU); |
| | | StringBuilder sqlBaoFei = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_BAOFEI); |
| | | StringBuilder sqlPanDian = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_PANDIAN); |
| | | StringBuilder sqlDepBaoFei = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_DEP_BAOFEI); |
| | | StringBuilder sqlDepTuiHui = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_DEP_TUIHUI); |
| | | StringBuilder sqlEnd = new StringBuilder(QUERY_DEPT_TAIZHANG_LIST_END); |
| | | |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | //机构 |
| | | if (param.getAgencyId() != null) { |
| | | // sqlQuery.append(" AND left(AGENCY_ID, length(:lengthAgencyId)) = :agencyId"); |
| | | sqlQuery.append(" AND TENANT_ID=:agencyId"); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | // 部门 |
| | | if (param.getDepartmentId() != null) { |
| | | sqlQuery.append(" and ID= :departmentId"); |
| | | paramts.put("departmentId", param.getDepartmentId()); |
| | | } |
| | | //仓库类型 |
| | | if (param.getWarehouseType() != null) { |
| | | sqlQuery.append(" AND WAREHOUSE_TYPE = :warehouseType"); |
| | | paramts.put("warehouseType", param.getWarehouseType()); |
| | | } |
| | | //物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sqlEnd.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getGoodsTemplateId() != null) { |
| | | sqlEnd.append(" AND record.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId"); |
| | | paramts.put("goodsTemplateId", param.getGoodsTemplateId()); |
| | | } |
| | | //规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sqlEnd.append(" AND record.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | // 同码表,1 物品申领 2 物品分发 3 物品退还 4 物品报废 |
| | | Short flowType = param.getFlowType(); |
| | | if (flowType != null) { |
| | | Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByDeptFlowType(flowType); |
| | | //本次调整类型(1=调增;2=调减) |
| | | Short flowThisType = typeByFlowType.get("flowThisType"); |
| | | //单据类型 1 采购2 调拨 3出库4部门分发5报废6部门物品回退仓库7物品盘点 |
| | | Short flowBusinessType = typeByFlowType.get("flowBusinessType"); |
| | | if (flowThisType != null) { |
| | | sqlEnd.append(" AND flow.THIS_TYPE=:flowThisType"); |
| | | paramts.put("flowThisType", flowThisType); |
| | | } |
| | | if (flowBusinessType != null) { |
| | | sqlEnd.append(" AND flow.BUSINESS_TYPE=:flowBusinessType"); |
| | | paramts.put("flowBusinessType", flowBusinessType); |
| | | } |
| | | } |
| | | // 单号 |
| | | String businessFormCode = param.getBusinessFormCode(); |
| | | if (StringUtils.isNotEmpty(businessFormCode)) { |
| | | sqlCaiGou.append(" and tCaiGou.BUSINESS_FORM_CODE = :caoGouBusinessFormCode"); |
| | | paramts.put("caoGouBusinessFormCode", businessFormCode); |
| | | sqlDiaoBo.append(" and tTrans.BUSINESS_FORM_CODE = :diaoBoBusinessFormCode"); |
| | | paramts.put("diaoBoBusinessFormCode", businessFormCode); |
| | | sqlChuKu.append(" and tFormOut.BUSINESS_FORM_CODE = :chuKuBusinessFormCode"); |
| | | paramts.put("chuKuBusinessFormCode", businessFormCode); |
| | | sqlBaoFei.append(" and tScrapped.BUSINESS_FORM_CODE = :baoFeiBusinessFormCode"); |
| | | paramts.put("baoFeiBusinessFormCode", businessFormCode); |
| | | sqlDepBaoFei.append(" and tDepScrapped.BUSINESS_FORM_CODE = :deptBaoFeiBusinessFormCode"); |
| | | paramts.put("deptBaoFeiBusinessFormCode", businessFormCode); |
| | | sqlDepTuiHui.append(" and tBack.BUSINESS_FORM_CODE = :deptBackBusinessFormCode"); |
| | | paramts.put("deptBackBusinessFormCode", businessFormCode); |
| | | sqlPanDian.append(" and tInventory.BUSINESS_FORM_CODE = :panDianBusinessFormCode"); |
| | | paramts.put("panDianBusinessFormCode", businessFormCode); |
| | | |
| | | sqlEnd.append(" and case when flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE" + |
| | | " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4) THEN tTrans.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 5 AND flow.WAREHOUSE_TYPE = 0 THEN tScrapped.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 5 AND flow.WAREHOUSE_TYPE = 1 THEN tDepScrapped.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 6 THEN tBack.BUSINESS_FORM_CODE" + |
| | | " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE end =:whereBusinessFormCode"); |
| | | paramts.put("whereBusinessFormCode", businessFormCode); |
| | | } |
| | | // 操作时间 |
| | | if (param.getDealTimeStart() != null) { |
| | | sqlEnd.append(" and flow.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000); |
| | | } |
| | | if (param.getDealTimeEnd() != null) { |
| | | sqlEnd.append(" and flow.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000); |
| | | } |
| | | sqlEnd.append(" ORDER BY record.DEAL_TIME desc,record.id DESC "); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(sqlQuery) |
| | | .append(sqlEndRecord) |
| | | .append(sqlCaiGou) |
| | | .append(sqlDiaoBo) |
| | | .append(sqlChuKu) |
| | | .append(sqlBaoFei) |
| | | .append(sqlPanDian) |
| | | .append(sqlDepBaoFei) |
| | | .append(sqlDepTuiHui) |
| | | .append(sqlEnd); |
| | | |
| | | return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | } |
| | | |
| | | public PageUtil queryAllBusinessFlow(LWhFormOutputQry param) { |
| | | StringBuilder sql = new StringBuilder("SELECT\n" |
| | | + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.id \n" |
| | | + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.id \n" |
| | | + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.id \n" |
| | | + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.id \n" |
| | | + "WHEN flow.BUSINESS_TYPE=6 THEN tBack.id \n" |
| | | + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.id END id,\n" |
| | | + "\n" |
| | | + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUSINESS_FORM_CODE \n" |
| | | + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.BUSINESS_FORM_CODE \n" |
| | | + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.BUSINESS_FORM_CODE \n" |
| | | + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.BUSINESS_FORM_CODE \n" |
| | | + "WHEN flow.BUSINESS_TYPE=6 THEN tBack.BUSINESS_FORM_CODE \n" |
| | | + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.BUSINESS_FORM_CODE END BUSINESS_FORM_CODE,\n" |
| | | + "\n" |
| | | + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME \n" |
| | | + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4) THEN tTrans.OPERATOR_NAME \n" |
| | | + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME \n" |
| | | + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.AGENCY_NAME \n" |
| | | + "WHEN flow.BUSINESS_TYPE=6 THEN tBack.AGENCY_NAME \n" |
| | | + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.AGENCY_NAME END AGENCY_NAME,\n" |
| | | + "\n" |
| | | + "record.GOODS_TEMPLATE_NAME,\n" |
| | | + "record.BASE_GOODS_MODELS_NAME,\n" |
| | | + "record.THIS_TYPE,\n" |
| | | + "flow.BUSINESS_TYPE,\n" |
| | | + "record.THIS_COUNT,\n" |
| | | + "flow.DEAL_TIME,\n" |
| | | + "flow.OPERATOR_NAME,\n" |
| | | + "record.TOTAL_PRICE\n" |
| | | + "FROM ( SELECT * FROM BASE_WAREHOUSE WHERE 1= 1 AND AGENCY_ID =:tenantId ) bw " |
| | | + "LEFT JOIN L_WAREHOUSE_FLOW flow ON bw.id = flow.WAREHOUSE_ID AND flow.WAREHOUSE_TYPE = 0\n" |
| | | + "LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID\n" |
| | | + "LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID\n" |
| | | + "LEFT JOIN L_WH_FORM_TRANSFER tTrans ON (flow.BUSINESS_TYPE=2 or flow.BUSINESS_TYPE=4) AND tTrans.id=flow.BUSINESS_FORM_ID\n" |
| | | + "LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.id=flow.BUSINESS_FORM_ID\n" |
| | | + "LEFT JOIN L_WH_FORM_INVENTORY tInventory ON flow.BUSINESS_TYPE=7 AND tInventory.id=flow.BUSINESS_FORM_ID\n" |
| | | + "LEFT JOIN L_WH_FORM_SCRAPPED tScrapped ON flow.BUSINESS_TYPE=5 AND tScrapped.id=flow.BUSINESS_FORM_ID\n" |
| | | + "LEFT JOIN USING_FORM_BACK tBack ON flow.BUSINESS_TYPE=6 AND tBack.id=flow.BUSINESS_FORM_ID\n" |
| | | //+ "LEFT JOIN base_warehouse bw ON flow.WAREHOUSE_ID = bw.id\n" |
| | | + "LEFT JOIN fin_sys_tenant fst ON fst.id = bw.AGENCY_ID\n" |
| | | + "WHERE record.id IS NOT NULL "); |
| | | |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | //机构 |
| | | if (param.getAgencyId() != null) { |
| | | paramts.put("tenantId", param.getAgencyId()); |
| | | } |
| | | //机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append("AND fst.id like :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | |
| | | //物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTempName())) { |
| | | sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTempName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getGoodsTemplateId() != null) { |
| | | sql.append(" AND record.BASE_GOODS_TEMPLATE_ID =:goodsTemplateId"); |
| | | paramts.put("goodsTemplateId", param.getGoodsTemplateId()); |
| | | } |
| | | //规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sql.append(" AND record.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | // 同码表,1采购入库 2退还入库 3调拨入库 4盘盈入库 5申领出库 6调拨出库 7盘亏出库 8报废出库 9其他出库 |
| | | Integer flowType = param.getFlowType(); |
| | | if (flowType != null) { |
| | | Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByFlowType(flowType.shortValue()); |
| | | //本次调整类型(1=调增;2=调减) |
| | | Short flowThisType = typeByFlowType.get("flowThisType"); |
| | | //单据类型 1 采购2 调拨 3出库4部门分发5报废6部门物品回退仓库7物品盘点 |
| | | Short flowBusinessType = typeByFlowType.get("flowBusinessType"); |
| | | if (flowThisType != null) { |
| | | sql.append(" AND flow.THIS_TYPE=:flowThisType"); |
| | | paramts.put("flowThisType", flowThisType); |
| | | } |
| | | if (flowBusinessType != null) { |
| | | sql.append(" AND flow.BUSINESS_TYPE=:flowBusinessType"); |
| | | paramts.put("flowBusinessType", flowBusinessType); |
| | | } |
| | | } |
| | | // 单号 |
| | | String businessFormCode = param.getBusinessFormCode(); |
| | | if (StringUtils.isNotEmpty(businessFormCode)) { |
| | | sql.append(" and case when flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE =:whereBusinessFormCode" + |
| | | " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4) THEN tTrans.BUSINESS_FORM_CODE =:whereBusinessFormCode" + |
| | | " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:whereBusinessFormCode" + |
| | | " WHEN flow.BUSINESS_TYPE = 5 THEN tScrapped.BUSINESS_FORM_CODE =:whereBusinessFormCode" + |
| | | " WHEN flow.BUSINESS_TYPE = 6 THEN tBack.BUSINESS_FORM_CODE =:whereBusinessFormCode" + |
| | | " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE =:whereBusinessFormCode end"); |
| | | paramts.put("whereBusinessFormCode", businessFormCode); |
| | | |
| | | } |
| | | // 操作时间 |
| | | if (param.getStartTime() != null) { |
| | | sql.append(" and flow.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getStartTime() * 1000000); |
| | | } |
| | | if (param.getEndTime() != null) { |
| | | sql.append(" and flow.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); |
| | | } |
| | | sql.append(" ORDER BY record.DEAL_TIME desc,record.id DESC "); |
| | | GenericPager<Map<String, Object>> mapGenericPager = selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | PageUtil pageUtil = new PageUtil(mapGenericPager); |
| | | List<OutAndInDetailVO> result = Lists.newArrayList(); |
| | | mapGenericPager.getDatas().forEach(map -> { |
| | | OutAndInDetailVO outAndInDetailVO = MapUtils.convertMapToObj(map, OutAndInDetailVO.class); |
| | | Integer thisType = outAndInDetailVO.getThisType(); |
| | | Integer businessType = outAndInDetailVO.getBusinessType(); |
| | | String mixType = MixType.getMixType(businessType + "" + thisType); |
| | | outAndInDetailVO.setMixType(mixType); |
| | | outAndInDetailVO.setTotalPrice(CurrencyUtil.convertFenToYuan(outAndInDetailVO.getTotalPrice())); |
| | | result.add(outAndInDetailVO); |
| | | }); |
| | | pageUtil.setDatas(result); |
| | | return pageUtil; |
| | | } |
| | | PageUtil queryAllBusinessFlow(LWhFormOutputQry param); |
| | | } |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.consum.base.pojo.query.LWhGoodsStatisQry; |
| | | import com.walker.jdbc.service.BaseService; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * LWhGoodsStatisticsService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 10:48 |
| | | **/ |
| | | public interface LWhGoodsStatisticsService extends BaseService { |
| | | List getWhGoodsStatisList(LWhGoodsStatisQry param); |
| | | } |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.consum.base.pojo.query.WhWarningConfigQry; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.jdbc.service.BaseService; |
| | | |
| | | /** |
| | | * LWhWarningConfigService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 10:35 |
| | | **/ |
| | | public interface LWhWarningConfigService extends BaseService { |
| | | GenericPager<Map<String, Object>> getConfigListWithPage(WhWarningConfigQry param); |
| | | |
| | | Map<String, Object> getConfigListQueryMap(WhWarningConfigQry param); |
| | | |
| | | List<Map<String, Object>> queryModelIsExist(Integer warehouseType, Long baseWarehouseId, List<Long> modelIds); |
| | | } |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.consum.base.pojo.query.WhWarningQry; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.jdbc.service.BaseService; |
| | | |
| | | /** |
| | | * LWhWarningService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 10:32 |
| | | **/ |
| | | public interface LWhWarningService extends BaseService { |
| | | |
| | | Map<String, Object> getWarningTypeNum(WhWarningQry param); |
| | | |
| | | GenericPager<Map<String, Object>> getListWithPage(WhWarningQry param); |
| | | |
| | | List<Map<String, Object>> checkKuCun(Short warehouseType, Long warehouseId, List<Long> baseModelIdList); |
| | | } |
New file |
| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.consum.model.po.SDictData; |
| | | import com.walker.jdbc.service.BaseService; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * SDictDataService |
| | | * |
| | | * @author asus |
| | | * @version 2023/12/22 10:48 |
| | | **/ |
| | | public interface SDictDataService extends BaseService { |
| | | List<SDictData> selectByScrappedCodeList(List scrappedCodeList); |
| | | } |
File was renamed from consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java |
| | |
| | | package com.consum.base.core; |
| | | package com.consum.base.service.core; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.base.service.GoodsBaseServiceImpl; |
| | | import com.consum.base.service.GoodsBaseService; |
| | | import com.consum.base.service.LWarehouseFlowService; |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.web.ResponseValue; |
| | | import java.util.Arrays; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import cn.hutool.core.convert.Convert; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * @ClassName DepFormScrappedCoreServiceImpl |
| | |
| | | @Service |
| | | @Slf4j |
| | | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
| | | public class DepFormScrappedCoreServiceImpl { |
| | | public class DepFormScrappedCoreService { |
| | | @Resource |
| | | private GoodsBaseServiceImpl goodsBaseService; |
| | | private GoodsBaseService goodsBaseService; |
| | | @Resource |
| | | private LWhGoodsService lWhGoodsService; |
| | | @Resource |
| | |
| | | @Resource |
| | | private LWhGoodsRecordService lWhGoodsRecordServiceImpl; |
| | | @Resource |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | |
| | | /** |
| | | * 根据报废单报废:修改调拨单中可退回数量;仓库中物品状态设置为报废;生成一个保费流水;更新报废型号表中,物品价值 |
| | | * <p> |
| | | * 1.找到需要报废的型号, 按同一个 |
| | | * |
| | | * @param lWhFormScrappedId // * @param isBack 是否退回 |
| | | * @param lWhFormScrappedId // * @param isBack 是否退回 |
| | | */ |
| | | public ResponseValue updateScrapped(Long lWhFormScrappedId, S_user_core currentUser, Long dealTime) { |
| | | // 查询报废单状态 |
| | | DepFormScrapped depFormScrapped = new DepFormScrapped(lWhFormScrappedId); |
| | | depFormScrapped = goodsBaseService.get(depFormScrapped); |
| | | //状态 1=待报废;2=已报废 |
| | | // 状态 1=待报废;2=已报废 |
| | | if (depFormScrapped == null || depFormScrapped.getStates() != 1) { |
| | | return ResponseValue.error("请检查报废单"); |
| | | } |
| | |
| | | String nickName = currentUser.getNick_name(); |
| | | |
| | | // 根据报废单 查询需要报废的型号数量 |
| | | List<Map<String, Object>> bfModelList = goodsBaseService.select("SELECT scrGoods.TRANS_BUSINESS_ID,scrGoods.BUSINESS_FORM_CODE,scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.BASE_GOODS_TEMPLATE_ID, scrGoods.BASE_GOODS_TEMPLATE_NAME,goodsModel.id formScrappedModelId,goodsModel.BASE_GOODS_TEMPLATE_ID,goodsModel.BASE_GOODS_MODELS_ID,goodsModel.COUNTS,goodsModel.PROCURE_MODEL_USER_ID,goodsModel.GOODS_USER_NAME,goodsModel.BASE_GOODS_MODELS_NAME FROM DEP_FORM_SCRAPPED_GOODS scrGoods LEFT JOIN DEP_FORM_SCRAPPED_MODEL goodsModel ON scrgoods.id=goodsModel.DEP_FORM_SCRAPPED_GOODS_ID where scrGoods.DEP_FORM_SCRAPPED_ID = ?", new Object[]{lWhFormScrappedId}); |
| | | Map<Object, List<Map<String, Object>>> groupByModelIdMap = bfModelList.stream() |
| | | .collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | List<Map<String, Object>> bfModelList = goodsBaseService.select( |
| | | "SELECT scrGoods.TRANS_BUSINESS_ID,scrGoods.BUSINESS_FORM_CODE,scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.BASE_GOODS_TEMPLATE_ID, scrGoods.BASE_GOODS_TEMPLATE_NAME,goodsModel.id formScrappedModelId,goodsModel.BASE_GOODS_TEMPLATE_ID,goodsModel.BASE_GOODS_MODELS_ID,goodsModel.COUNTS,goodsModel.PROCURE_MODEL_USER_ID,goodsModel.GOODS_USER_NAME,goodsModel.BASE_GOODS_MODELS_NAME FROM DEP_FORM_SCRAPPED_GOODS scrGoods LEFT JOIN DEP_FORM_SCRAPPED_MODEL goodsModel ON scrgoods.id=goodsModel.DEP_FORM_SCRAPPED_GOODS_ID where scrGoods.DEP_FORM_SCRAPPED_ID = ?", |
| | | new Object[] {lWhFormScrappedId}); |
| | | Map<Object, List<Map<String, Object>>> groupByModelIdMap = |
| | | bfModelList.stream().collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | Integer warehouseType = depFormScrapped.getOutWarehouseType(); |
| | | Long warehouseId = depFormScrapped.getOutWarehouseId(); |
| | | String warehouseName = depFormScrapped.getOutWarehouseName(); |
| | |
| | | // |
| | | ArrayList<LWhGoodsRecord> lWhGoodsRecordList = new ArrayList<>(); |
| | | |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | Map<String, Integer> procureModelMap = new HashMap<>(); |
| | | |
| | | for (Object key : groupByModelIdMap.keySet()) { |
| | | Long modelTotalPrice = 0L; |
| | | //要报废的总数量 |
| | | // 要报废的总数量 |
| | | int modelTotalNum = 0; |
| | | |
| | | Long baseGoodsModelsId = (Long) key; |
| | | Long baseGoodsModelsId = (Long)key; |
| | | List<Map<String, Object>> eachFfModelList = groupByModelIdMap.get(key); |
| | | Map<String, Object> eachFfModelBase = eachFfModelList.get(0); |
| | | Long tempGoodsId = Convert.toLong(eachFfModelBase.get("BASE_GOODS_TEMPLATE_ID")); |
| | |
| | | whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId); |
| | | whGoodsRecord.setBaseGoodsModelsName(modelName); |
| | | whGoodsRecord.setDealTime(dealTime); |
| | | //本次调整类型 1=调增;2=调减 |
| | | // 本次调整类型 1=调增;2=调减 |
| | | whGoodsRecord.setThisType(2); |
| | | |
| | | //通过LockManage获得锁 |
| | | // 通过LockManage获得锁 |
| | | Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); |
| | | int goodsModelNum = 0; |
| | | synchronized (warehouseModelLockObj) { |
| | | List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); |
| | | goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); |
| | | goodsModelNum = |
| | | lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); |
| | | for (Map<String, Object> depFormScrappedModel : eachFfModelList) { |
| | | // 调拨单信息 |
| | | Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID"); |
| | | Long transBusinessId = (Long)depFormScrappedModel.get("TRANS_BUSINESS_ID"); |
| | | String nowUserName = Convert.toStr(depFormScrappedModel.get("GOODS_USER_NAME")); |
| | | Integer counts = Convert.toInt(depFormScrappedModel.get("COUNTS")); |
| | | Long formScrappedModelId = Convert.toLong(depFormScrappedModel.get("formScrappedModelId")); |
| | |
| | | modelTotalNum += counts; |
| | | |
| | | // 根据分发单、型号、使用人信息查询物品信息 |
| | | List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts); |
| | | List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, |
| | | warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short)2, counts); |
| | | if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) { |
| | | log.error("要报废的物品数量不足!"); |
| | | // 手动回滚 |
| | |
| | | throw new RuntimeException("报废失败!型号数量不足"); |
| | | } |
| | | |
| | | Long formScrappedModelPrice = scrappedGoodsList.stream().mapToLong(map -> (long) map.get("price")).sum(); |
| | | Long formScrappedModelPrice = |
| | | scrappedGoodsList.stream().mapToLong(map -> (long)map.get("price")).sum(); |
| | | modelTotalPrice += formScrappedModelPrice; |
| | | // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中 价格 |
| | | modelTotalPriceMap.put(formScrappedModelId, formScrappedModelPrice); |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 在用数量 |
| | | Integer procureModelNum = Convert.toInt(procureModelMap.get(transBusinessId + "_" + baseGoodsModelsId), 0); |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 在用数量 |
| | | Integer procureModelNum = |
| | | Convert.toInt(procureModelMap.get(transBusinessId + "_" + baseGoodsModelsId), 0); |
| | | procureModelMap.put(transBusinessId + "_" + baseGoodsModelsId, counts + procureModelNum); |
| | | |
| | | // 汇总出需要修改状态的物品id |
| | | List<Long> srappedGoodsIds = scrappedGoodsList.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); |
| | | List<Long> srappedGoodsIds = |
| | | scrappedGoodsList.stream().map(map -> (Long)map.get("id")).collect(Collectors.toList()); |
| | | |
| | | // 设置物品为报废状态 |
| | | lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); |
| | | // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS] |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2); |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)2); |
| | | } |
| | | } |
| | | |
| | |
| | | whGoodsRecord.setEndCount(goodsModelNum - modelTotalNum); |
| | | whGoodsRecord.setThisCount(modelTotalNum); |
| | | whGoodsRecord.setTotalPrice(modelTotalPrice); |
| | | // lWhGoodsRecordService.insert(whGoodsRecord); |
| | | // lWhGoodsRecordService.insert(whGoodsRecord); |
| | | lWhGoodsRecordList.add(whGoodsRecord); |
| | | } |
| | | |
| | |
| | | warehouseFlow.setOperatorName(nickName); |
| | | warehouseFlow.setDealTime(dealTime); |
| | | // 插入流水总表 |
| | | int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow); |
| | | int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow); |
| | | if (flowInsertFlag == 0) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return null; |
| | |
| | | // 更新报废单 |
| | | depFormScrapped = new DepFormScrapped(lWhFormScrappedId); |
| | | depFormScrapped.setStates(2); |
| | | // depFormScrapped.setOperatorId(userId); |
| | | // depFormScrapped.setOperatorName(nickName); |
| | | // depFormScrapped.setDealTime(dealTime); |
| | | // depFormScrapped.setOperatorId(userId); |
| | | // depFormScrapped.setOperatorName(nickName); |
| | | // depFormScrapped.setDealTime(dealTime); |
| | | goodsBaseService.update(depFormScrapped); |
| | | |
| | | // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中价格的list |
| | |
| | | } |
| | | goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList); |
| | | |
| | | //如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT) |
| | | // 如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT) |
| | | List<Object[]> procureModelUserIdList = new ArrayList<>(); |
| | | for (Map<String, Object> itemMap : bfModelList) { |
| | | Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID")); |
| | |
| | | } |
| | | Integer counts = Convert.toInt(itemMap.get("COUNTS")); |
| | | |
| | | // StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts); |
| | | // sb.append(" where id=").append(procureModelUserId); |
| | | // sb.append(" and USE_COUNT-").append(counts).append(" >=0"); |
| | | // goodsBaseService.update(sb.toString()); |
| | | // StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set |
| | | // USE_COUNT=USE_COUNT-").append(counts); |
| | | // sb.append(" where id=").append(procureModelUserId); |
| | | // sb.append(" and USE_COUNT-").append(counts).append(" >=0"); |
| | | // goodsBaseService.update(sb.toString()); |
| | | |
| | | Object[] one = new Object[3]; |
| | | one[0] = counts; |
| | |
| | | procureModelUserIdList.add(one); |
| | | } |
| | | if (!CollectionUtils.isEmpty(procureModelUserIdList)) { |
| | | goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ? where id= ? and USE_COUNT- ? >=0", procureModelUserIdList); |
| | | goodsBaseService.execBatchUpdate( |
| | | "update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ? where id= ? and USE_COUNT- ? >=0", |
| | | procureModelUserIdList); |
| | | } |
| | | |
| | | |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | List<Object[]> procureModelParameterList = new ArrayList<>(); |
| | | for (Map.Entry<String, Integer> entry : procureModelMap.entrySet()) { |
| | | String key = entry.getKey(); |
| | |
| | | sb.append(modelUseingNum).append(" >=0"); |
| | | goodsBaseService.update(sb.toString()); |
| | | } |
| | | // goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", procureModelParameterList); |
| | | //当库存变动时调用该方法 |
| | | //lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime); |
| | | // goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 |
| | | // and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", procureModelParameterList); |
| | | // 当库存变动时调用该方法 |
| | | // lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, |
| | | // null, dealTime); |
| | | return null; |
| | | } |
| | | } |
File was renamed from consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java |
| | |
| | | package com.consum.base.core; |
| | | package com.consum.base.service.core; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.base.service.GoodsBaseServiceImpl; |
| | | import com.consum.base.service.GoodsBaseService; |
| | | import com.consum.base.service.LWarehouseFlowService; |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.web.ResponseValue; |
| | | import java.util.Arrays; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import cn.hutool.core.convert.Convert; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * @ClassName DepFormScrappedCoreServiceImpl |
| | |
| | | @Service |
| | | @Slf4j |
| | | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
| | | public class DepUsingFormBackCoreServiceImpl { |
| | | public class DepUsingFormBackCoreService { |
| | | @Resource |
| | | private GoodsBaseServiceImpl goodsBaseService; |
| | | private GoodsBaseService goodsBaseService; |
| | | @Resource |
| | | private LWhGoodsService lWhGoodsService; |
| | | @Resource |
| | |
| | | @Resource |
| | | private LWhGoodsRecordService lWhGoodsRecordServiceImpl; |
| | | @Resource |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | @Resource |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | |
| | | /** |
| | | * 根据报废单报废:修改调拨单中可退回数量;仓库中物品状态设置为报废;生成一个保费流水;更新报废型号表中,物品价值 |
| | |
| | | // 查询报废单状态 |
| | | UsingFormBack depFormScrapped = new UsingFormBack(lWhFormBackId); |
| | | depFormScrapped = goodsBaseService.get(depFormScrapped); |
| | | //状态 1=待报废;2=已报废 |
| | | // 状态 1=待报废;2=已报废 |
| | | if (depFormScrapped == null || depFormScrapped.getStates() != 1) { |
| | | return ResponseValue.error("请检查报废单"); |
| | | } |
| | |
| | | String nickName = currentUser.getNick_name(); |
| | | |
| | | // 根据报废单 查询需要报废的型号数量 |
| | | List<Map<String, Object>> bfModelList = goodsBaseService.select("SELECT scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.TRANS_BUSINESS_ID,scrGoods.BUSINESS_FORM_CODE,scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.BASE_GOODS_TEMPLATE_ID,scrGoods.BASE_GOODS_TEMPLATE_NAME,goodsModel.id formScrappedModelId,goodsModel.BASE_GOODS_TEMPLATE_ID,goodsModel.BASE_GOODS_MODELS_ID,goodsModel.COUNTS,goodsModel.PROCURE_MODEL_USER_ID,goodsModel.GOODS_USER_NAME,goodsModel.BASE_GOODS_MODELS_NAME FROM USING_FORM_BACK_GOODS scrGoods LEFT JOIN USING_FORM_BACK_MODEL goodsModel ON scrgoods.id=goodsModel.USING_FORM_BACK_GOODS_ID WHERE scrGoods.USING_FORM_BACK_ID=?", new Object[]{lWhFormBackId}); |
| | | Map<Object, List<Map<String, Object>>> groupByModelIdMap = bfModelList.stream() |
| | | .collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | List<Map<String, Object>> bfModelList = goodsBaseService.select( |
| | | "SELECT scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.TRANS_BUSINESS_ID,scrGoods.BUSINESS_FORM_CODE,scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.BASE_GOODS_TEMPLATE_ID,scrGoods.BASE_GOODS_TEMPLATE_NAME,goodsModel.id formScrappedModelId,goodsModel.BASE_GOODS_TEMPLATE_ID,goodsModel.BASE_GOODS_MODELS_ID,goodsModel.COUNTS,goodsModel.PROCURE_MODEL_USER_ID,goodsModel.GOODS_USER_NAME,goodsModel.BASE_GOODS_MODELS_NAME FROM USING_FORM_BACK_GOODS scrGoods LEFT JOIN USING_FORM_BACK_MODEL goodsModel ON scrgoods.id=goodsModel.USING_FORM_BACK_GOODS_ID WHERE scrGoods.USING_FORM_BACK_ID=?", |
| | | new Object[] {lWhFormBackId}); |
| | | Map<Object, List<Map<String, Object>>> groupByModelIdMap = |
| | | bfModelList.stream().collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | Integer warehouseType = depFormScrapped.getOutWarehouseType(); |
| | | Long warehouseId = depFormScrapped.getOutWarehouseId(); |
| | | String warehouseName = depFormScrapped.getOutWarehouseName(); |
| | |
| | | |
| | | ArrayList<LWhGoodsRecord> lWhGoodsRecordList = new ArrayList<>(); |
| | | |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | Map<String, Integer> procureModelMap = new HashMap<>(); |
| | | |
| | | for (Object key : groupByModelIdMap.keySet()) { |
| | | Long modelTotalPrice = 0L; |
| | | //要报废的总数量 |
| | | // 要报废的总数量 |
| | | int modelTotalNum = 0; |
| | | |
| | | Long baseGoodsModelsId = (Long) key; |
| | | Long baseGoodsModelsId = (Long)key; |
| | | List<Map<String, Object>> eachFfModelList = groupByModelIdMap.get(key); |
| | | Map<String, Object> eachFfModelBase = eachFfModelList.get(0); |
| | | Long tempGoodsId = Convert.toLong(eachFfModelBase.get("BASE_GOODS_TEMPLATE_ID")); |
| | |
| | | whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId); |
| | | whGoodsRecord.setBaseGoodsModelsName(modelName); |
| | | whGoodsRecord.setDealTime(dealTime); |
| | | //本次调整类型 1=调增;2=调减 |
| | | // 本次调整类型 1=调增;2=调减 |
| | | whGoodsRecord.setThisType(2); |
| | | |
| | | //通过LockManage获得锁 |
| | | // 通过LockManage获得锁 |
| | | Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); |
| | | int goodsModelNum = 0; |
| | | synchronized (warehouseModelLockObj) { |
| | | List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); |
| | | goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); |
| | | goodsModelNum = |
| | | lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); |
| | | for (Map<String, Object> depFormScrappedModel : eachFfModelList) { |
| | | // 调拨单信息 |
| | | Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID"); |
| | | Long transBusinessId = (Long)depFormScrappedModel.get("TRANS_BUSINESS_ID"); |
| | | String nowUserName = Convert.toStr(depFormScrappedModel.get("GOODS_USER_NAME")); |
| | | Integer counts = Convert.toInt(depFormScrappedModel.get("COUNTS")); |
| | | Long formScrappedModelId = Convert.toLong(depFormScrappedModel.get("formScrappedModelId")); |
| | |
| | | modelTotalNum += counts; |
| | | |
| | | // 根据分发单、型号、使用人信息查询物品信息 |
| | | List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts); |
| | | List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, |
| | | warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short)2, counts); |
| | | if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) { |
| | | log.error("要退回的物品数量不足!"); |
| | | // 手动回滚 |
| | |
| | | // 放入物品ID等信息 |
| | | depFormScrappedModel.put("scrappedGoodsList", scrappedGoodsList); |
| | | |
| | | Long formScrappedModelPrice = scrappedGoodsList.stream().mapToLong(map -> (long) map.get("price")).sum(); |
| | | Long formScrappedModelPrice = |
| | | scrappedGoodsList.stream().mapToLong(map -> (long)map.get("price")).sum(); |
| | | modelTotalPrice += formScrappedModelPrice; |
| | | // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中 价格 |
| | | modelTotalPriceMap.put(formScrappedModelId, formScrappedModelPrice); |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 在用数量 |
| | | Integer procureModelNum = Convert.toInt(procureModelMap.get(transBusinessId + "_" + baseGoodsModelsId), 0); |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 在用数量 |
| | | Integer procureModelNum = |
| | | Convert.toInt(procureModelMap.get(transBusinessId + "_" + baseGoodsModelsId), 0); |
| | | procureModelMap.put(transBusinessId + "_" + baseGoodsModelsId, counts + procureModelNum); |
| | | |
| | | // 汇总出需要修改状态的物品id |
| | | List<Long> srappedGoodsIds = scrappedGoodsList.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); |
| | | List<Long> srappedGoodsIds = |
| | | scrappedGoodsList.stream().map(map -> (Long)map.get("id")).collect(Collectors.toList()); |
| | | |
| | | // 设置物品为报废状态 |
| | | // lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); |
| | | // lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); |
| | | // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS] |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2); |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)2); |
| | | } |
| | | } |
| | | |
| | |
| | | whGoodsRecord.setEndCount(goodsModelNum - modelTotalNum); |
| | | whGoodsRecord.setThisCount(modelTotalNum); |
| | | whGoodsRecord.setTotalPrice(modelTotalPrice); |
| | | // lWhGoodsRecordService.insert(whGoodsRecord); |
| | | // lWhGoodsRecordService.insert(whGoodsRecord); |
| | | lWhGoodsRecordList.add(whGoodsRecord); |
| | | } |
| | | |
| | |
| | | warehouseFlow.setOperatorName(nickName); |
| | | warehouseFlow.setDealTime(dealTime); |
| | | // 插入流水总表 |
| | | int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow); |
| | | int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow); |
| | | if (flowInsertFlag == 0) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return null; |
| | |
| | | } |
| | | goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList); |
| | | |
| | | //如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT) |
| | | // 如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT) |
| | | List<Object[]> procureModelUserIdList = new ArrayList<>(); |
| | | for (Map<String, Object> itemMap : bfModelList) { |
| | | Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID")); |
| | | if (procureModelUserId==null){ |
| | | if (procureModelUserId == null) { |
| | | continue; |
| | | } |
| | | Integer counts = Convert.toInt(itemMap.get("COUNTS")); |
| | | |
| | | // StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts); |
| | | // sb.append(" where id=").append(procureModelUserId); |
| | | // sb.append(" and USE_COUNT-").append(counts).append(" >=0"); |
| | | // goodsBaseService.update(sb.toString()); |
| | | // StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set |
| | | // USE_COUNT=USE_COUNT-").append(counts); |
| | | // sb.append(" where id=").append(procureModelUserId); |
| | | // sb.append(" and USE_COUNT-").append(counts).append(" >=0"); |
| | | // goodsBaseService.update(sb.toString()); |
| | | |
| | | Object[] one = new Object[3]; |
| | | one[0] = counts; |
| | |
| | | procureModelUserIdList.add(one); |
| | | } |
| | | if (!CollectionUtils.isEmpty(procureModelUserIdList)) { |
| | | goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ? where id= ? and USE_COUNT- ? >=0", procureModelUserIdList); |
| | | goodsBaseService.execBatchUpdate( |
| | | "update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ? where id= ? and USE_COUNT- ? >=0", |
| | | procureModelUserIdList); |
| | | } |
| | | |
| | | |
| | | //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | // 采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量 |
| | | List<Object[]> procureModelParameterList = new ArrayList<>(); |
| | | for (Map.Entry<String, Integer> entry : procureModelMap.entrySet()) { |
| | | String key = entry.getKey(); |
| | |
| | | sb.append(modelUseingNum).append(" >=0"); |
| | | goodsBaseService.update(sb.toString()); |
| | | } |
| | | // goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", parameterList); |
| | | |
| | | // goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 |
| | | // and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", parameterList); |
| | | |
| | | // 操作入库,此时要按物品所属仓库 生成不同仓库入库的流水 |
| | | Map<String, List<Map<String, Object>>> groupByOutWarehouseIdMap = bfModelList.stream() |
| | | .collect(Collectors.groupingBy(map -> map.get("TRANS_OUT_WAREHOUSE_TYPE") + "_" + map.get("TRANS_OUT_WAREHOUSE_ID"))); |
| | | //每个仓库一个流水表 |
| | | Map<String, List<Map<String, Object>>> groupByOutWarehouseIdMap = bfModelList.stream().collect(Collectors |
| | | .groupingBy(map -> map.get("TRANS_OUT_WAREHOUSE_TYPE") + "_" + map.get("TRANS_OUT_WAREHOUSE_ID"))); |
| | | // 每个仓库一个流水表 |
| | | ArrayList<LWarehouseFlow> flowArrayList = new ArrayList<>(); |
| | | ArrayList<LWhGoodsRecord> flowRecordArrayList = new ArrayList<>(); |
| | | |
| | |
| | | List<Map<String, Object>> eachWareHouseList = groupByOutWarehouseIdMap.get(outWarehouseTypeAndId); |
| | | Map<String, Object> eachWarehouseModelMap = eachWareHouseList.get(0); |
| | | |
| | | // Integer inWareHouseType = Convert.toInt(eachWarehouseModelMap.get("TRANS_OUT_WAREHOUSE_TYPE")); |
| | | // Integer inWareHouseType = Convert.toInt(eachWarehouseModelMap.get("TRANS_OUT_WAREHOUSE_TYPE")); |
| | | Long inWarehouseId = Convert.toLong(eachWarehouseModelMap.get("TRANS_OUT_WAREHOUSE_ID")); |
| | | String inWarehouseName = null; |
| | | BaseWarehouse baseWarehouse = goodsBaseService.get(new BaseWarehouse(inWarehouseId)); |
| | |
| | | inWarehouseFlow.setDealTime(dealTime); |
| | | flowArrayList.add(inWarehouseFlow); |
| | | |
| | | //按型号分 每个型号一个 L_WH_GOODS_RECORD |
| | | Map<Object, List<Map<String, Object>>> eachWareHouseModelMap = eachWareHouseList.stream() |
| | | .collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | // 按型号分 每个型号一个 L_WH_GOODS_RECORD |
| | | Map<Object, List<Map<String, Object>>> eachWareHouseModelMap = |
| | | eachWareHouseList.stream().collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID"))); |
| | | for (Object key : eachWareHouseModelMap.keySet()) { |
| | | Long baseGoodsModelsId = (Long) key; |
| | | Long baseGoodsModelsId = (Long)key; |
| | | |
| | | List<Map<String, Object>> eachFfModelList = eachWareHouseModelMap.get(baseGoodsModelsId); |
| | | Map<String, Object> eachFfModelBase = eachFfModelList.get(0); |
| | |
| | | whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId); |
| | | whGoodsRecord.setBaseGoodsModelsName(modelName); |
| | | whGoodsRecord.setDealTime(dealTime); |
| | | //本次调整类型 1=调增;2=调减 |
| | | // 本次调整类型 1=调增;2=调减 |
| | | whGoodsRecord.setThisType(1); |
| | | //通过LockManage获得锁 |
| | | // 通过LockManage获得锁 |
| | | Object warehouseModelLockObj = LockManage.acquireLock(0, inWarehouseId, baseGoodsModelsId); |
| | | int goodsModelNum = 0; |
| | | // 存放所有的物品id 价格等信息 |
| | | List<Map<String, Object>> scrappedAllGoodsList = new ArrayList<>(); |
| | | synchronized (warehouseModelLockObj) { |
| | | //查询期初数量 |
| | | // 查询期初数量 |
| | | List<Long> warehouseIds = new ArrayList<>(Arrays.asList(inWarehouseId)); |
| | | goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseIds, baseGoodsModelsId, 1, null); |
| | | for (Map<String, Object> depFormScrappedModel : eachFfModelList) { |
| | | scrappedAllGoodsList.addAll((List<Map<String, Object>>) depFormScrappedModel.get("scrappedGoodsList")); |
| | | scrappedAllGoodsList |
| | | .addAll((List<Map<String, Object>>)depFormScrappedModel.get("scrappedGoodsList")); |
| | | } |
| | | // 汇总出需要修改状态的物品id |
| | | List<Long> srappedGoodsIds = scrappedAllGoodsList.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); |
| | | List<Long> srappedGoodsIds = |
| | | scrappedAllGoodsList.stream().map(map -> (Long)map.get("id")).collect(Collectors.toList()); |
| | | |
| | | // 设置物品为入库未分发, 并设置所属仓库 |
| | | lWhGoodsService.modGoodsTransfering(srappedGoodsIds, 0, inWarehouseId, warehouseName, 1); |
| | | // 使用人信息 |
| | | |
| | | // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS] |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 1); |
| | | lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)1); |
| | | } |
| | | // 上方物品的价格 |
| | | Long formScrappedModelPrice = scrappedAllGoodsList.stream().mapToLong(map -> (long) map.get("price")).sum(); |
| | | Long formScrappedModelPrice = |
| | | scrappedAllGoodsList.stream().mapToLong(map -> (long)map.get("price")).sum(); |
| | | whGoodsRecord.setInitialCount(goodsModelNum); |
| | | whGoodsRecord.setEndCount(goodsModelNum + scrappedAllGoodsList.size()); |
| | | whGoodsRecord.setThisCount(scrappedAllGoodsList.size()); |
| | | whGoodsRecord.setTotalPrice(formScrappedModelPrice); |
| | | //lWhGoodsRecordService.insert(whGoodsRecord); |
| | | // lWhGoodsRecordService.insert(whGoodsRecord); |
| | | flowRecordArrayList.add(whGoodsRecord); |
| | | } |
| | | |
| | | // 提取baseGoodsModelsId并放入新的List中 |
| | | List<Long> allChangModelList = eachWareHouseList.stream() |
| | | .map(map -> Convert.toLong(map.get("BASE_GOODS_MODELS_ID"))) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | //当库存变动时调用该方法 |
| | | lWhWarningCoreService.updateKuCun((short) 0, inWarehouseId, allChangModelList, null, dealTime); |
| | | .map(map -> Convert.toLong(map.get("BASE_GOODS_MODELS_ID"))).distinct().collect(Collectors.toList()); |
| | | // 当库存变动时调用该方法 |
| | | lWhWarningCoreService.updateKuCun((short)0, inWarehouseId, allChangModelList, null, dealTime); |
| | | } |
| | | // 插入流水总表 |
| | | flowInsertFlag = lWarehouseFlowService.insertBatch(flowArrayList); |
| | | flowInsertFlag = lWarehouseFlowServiceImpl.insertBatch(flowArrayList); |
| | | if (flowInsertFlag == 0) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return null; |
File was renamed from consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.base.service.BaseGoodsTemplateService; |
| | | import com.consum.base.service.LWarehouseFlowService; |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormProcure; |
File was renamed from consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryCoreService.java |
| | |
| | | package com.consum.base.service.impl; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
File was renamed from consum-base/src/main/java/com/consum/base/service/impl/LWhFormOutputCoreService.java |
| | |
| | | package com.consum.base.service.impl; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | import com.consum.base.core.CodeGeneratorEnum; |
| | | import com.consum.base.core.CodeGeneratorService; |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.base.core.type.InAndOutPutType; |
| | | import com.consum.base.core.type.OutPutStatesType; |
| | | import com.consum.base.core.utils.IdUtil; |
| | |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import com.consum.base.service.impl.LWhGoodsRecordDetailsService; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormOutput; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | |
| | | private CodeGeneratorService codeGeneratorService; |
| | | private LWhProcureModelService lWhProcureModelService; |
| | | private LWhFormOutputService lWhFormOutputService; |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; |
| | | private LWhGoodsRecordService lWhGoodsRecordServiceImpl; |
| | | |
| | | @Autowired |
| | | public LWhFormOutputCoreService(BaseGoodsTemplateService baseGoodsTemplateService, LWhGoodsService lWhGoodsService, |
| | | CodeGeneratorService codeGeneratorService, LWhProcureModelService lWhProcureModelService, |
| | | LWhFormOutputService lWhFormOutputService, LWarehouseFlowService lWarehouseFlowService, |
| | | LWhFormOutputService lWhFormOutputService, LWarehouseFlowService lWarehouseFlowServiceImpl, |
| | | LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, LWhGoodsRecordService lWhGoodsRecordServiceImpl, |
| | | LWhWarningCoreServiceImpl lWhWarningCoreService) { |
| | | LWhWarningCoreService lWhWarningCoreService) { |
| | | this.baseGoodsTemplateService = baseGoodsTemplateService; |
| | | this.lWhGoodsService = lWhGoodsService; |
| | | this.codeGeneratorService = codeGeneratorService; |
| | | this.lWhProcureModelService = lWhProcureModelService; |
| | | this.lWhFormOutputService = lWhFormOutputService; |
| | | this.lWarehouseFlowService = lWarehouseFlowService; |
| | | this.lWarehouseFlowServiceImpl = lWarehouseFlowServiceImpl; |
| | | this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; |
| | | this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl; |
| | | this.lWhWarningCoreService = lWhWarningCoreService; |
| | |
| | | warehouseFlow.setOperatorName(nickName); |
| | | warehouseFlow.setDealTime(dealTime); |
| | | // 插入流水总表 |
| | | int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow); |
| | | int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow); |
| | | if (flowInsertFlag == 0) { |
| | | return null; |
| | | } |
File was renamed from consum-base/src/main/java/com/consum/base/service/impl/LWhFormProcureCoreService.java |
| | |
| | | package com.consum.base.service.impl; |
| | | package com.consum.base.service.core; |
| | | |
| | | import com.consum.base.service.LWarehouseFlowCoreService; |
| | | import com.consum.base.service.LWhFormProcureService; |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import java.util.List; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormProcure; |
| | | import com.consum.model.po.LWhProcureModel; |
| | |
| | | private LWhFormProcureService lWhFormProcureServiceImpl; |
| | | |
| | | @Resource |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | |
| | | @Resource |
| | | private LWarehouseFlowCoreService lWarehouseFlowService; |
File was renamed from consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java |
| | |
| | | package com.consum.base.service.impl; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.base.service.BaseGoodsTemplateService; |
| | | import com.consum.base.service.GoodsBaseServiceImpl; |
| | | import com.consum.base.service.GoodsBaseService; |
| | | import com.consum.base.service.LWarehouseFlowService; |
| | | import com.consum.base.service.LWhFormScrappedGoodsService; |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.base.service.impl.LWhGoodsRecordDetailsService; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormScrapped; |
| | | import com.consum.model.po.LWhFormScrappedGoods; |
| | |
| | | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
| | | public class LWhFormScrappedCoreService { |
| | | |
| | | private GoodsBaseServiceImpl goodsBaseService; |
| | | private GoodsBaseService goodsBaseService; |
| | | private LWhFormScrappedGoodsService lWhFormScrappedGoodsService; |
| | | private BaseGoodsTemplateService baseGoodsTemplateService; |
| | | private LWhGoodsService lWhGoodsService; |
| | | private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; |
| | | private LWhGoodsRecordService lWhGoodsRecordServiceImpl; |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | |
| | | @Autowired |
| | | public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService, |
| | | public LWhFormScrappedCoreService(GoodsBaseService goodsBaseService, |
| | | LWhFormScrappedGoodsService lWhFormScrappedGoodsService, BaseGoodsTemplateService baseGoodsTemplateService, |
| | | LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, |
| | | LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWarehouseFlowService lWarehouseFlowService, |
| | | LWhWarningCoreServiceImpl lWhWarningCoreService) { |
| | | // this.lWhFormScrappedService = lWhFormScrappedService; |
| | | LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWarehouseFlowService lWarehouseFlowServiceImpl, |
| | | LWhWarningCoreService lWhWarningCoreService) { |
| | | this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService; |
| | | this.baseGoodsTemplateService = baseGoodsTemplateService; |
| | | this.lWhGoodsService = lWhGoodsService; |
| | | this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; |
| | | this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl; |
| | | this.lWarehouseFlowService = lWarehouseFlowService; |
| | | this.lWarehouseFlowServiceImpl = lWarehouseFlowServiceImpl; |
| | | this.goodsBaseService = goodsBaseService; |
| | | this.lWhWarningCoreService = lWhWarningCoreService; |
| | | } |
| | |
| | | warehouseFlow.setOperatorName(nickName); |
| | | warehouseFlow.setDealTime(dealTime); |
| | | // 插入流水总表 |
| | | int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow); |
| | | int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow); |
| | | if (flowInsertFlag == 0) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return null; |
File was renamed from consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java |
| | |
| | | package com.consum.base.service.impl; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.base.core.type.TransferStatesType; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.LockManage; |
| | | import com.consum.base.service.BaseGoodsTemplateService; |
| | | import com.consum.base.service.GoodsBaseServiceImpl; |
| | | import com.consum.base.service.GoodsBaseService; |
| | | import com.consum.base.service.LGoodsUserRecordServiceImpl; |
| | | import com.consum.base.service.LGoodsWhRecordServiceImpl; |
| | | import com.consum.base.service.LWarehouseFlowService; |
| | |
| | | import com.consum.base.service.LWhGoodsRecordService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import com.consum.base.service.impl.LWhGoodsRecordDetailsService; |
| | | import com.consum.model.po.LGoodsUserRecord; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | |
| | | @Resource |
| | | private LWhFormOutputCoreService lWhFormOutputCoreService; |
| | | @Resource |
| | | private GoodsBaseServiceImpl goodsBaseService; |
| | | private GoodsBaseService goodsBaseService; |
| | | @Resource |
| | | private LWhGoodsRecordService lWhGoodsRecordServiceImpl; |
| | | @Resource |
| | |
| | | @Resource |
| | | private LGoodsWhRecordServiceImpl lGoodsWhRecordService; |
| | | @Resource |
| | | private LWarehouseFlowService lWarehouseFlowService; |
| | | private LWarehouseFlowService lWarehouseFlowServiceImpl; |
| | | @Resource |
| | | private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; |
| | | @Resource |
| | | private LGoodsUserRecordServiceImpl lGoodsUserRecordService; |
| | | @Resource |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | private LWhWarningCoreService lWhWarningCoreService; |
| | | |
| | | /** |
| | | * 执行调拨出库操作 |
| | |
| | | warehouseFlow.setOperatorName(nickName); |
| | | warehouseFlow.setDealTime(dealTime); |
| | | // 插入流水总表 |
| | | int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow); |
| | | int flowInsertFlag = lWarehouseFlowServiceImpl.insert(warehouseFlow); |
| | | if (flowInsertFlag == 0) { |
| | | return null; |
| | | } |
| | |
| | | inwarehouseFlow.setOperatorId(userId); |
| | | inwarehouseFlow.setOperatorName(nickName); |
| | | inwarehouseFlow.setDealTime(dealTime); |
| | | lWarehouseFlowService.insert(inwarehouseFlow); |
| | | lWarehouseFlowServiceImpl.insert(inwarehouseFlow); |
| | | |
| | | ArrayList<Long> allChangModelList = new ArrayList<>(); |
| | | LWhGoodsRecord lWhGoodsRecord = new LWhGoodsRecord(); |
File was renamed from consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java |
| | |
| | | package com.consum.base.core.service; |
| | | package com.consum.base.service.core; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.service.BaseGoodsModelsService; |
| | | import com.consum.base.service.BaseWarehouseService; |
| | | import com.consum.base.service.LWhWarningServiceImpl; |
| | | import com.consum.base.service.LWhWarningService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.WhWarning; |
| | |
| | | **/ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
| | | public class LWhWarningCoreServiceImpl { |
| | | public class LWhWarningCoreService { |
| | | |
| | | @Resource |
| | | private LWhWarningServiceImpl lWhWarningService; |
| | | private LWhWarningService lWhWarningService; |
| | | @Resource |
| | | private BaseWarehouseService baseWarehouseService; |
| | | @Resource |
| | |
| | | // 获取到达到阈值的物品 |
| | | List<Map<String, Object>> kuCunNotifyList = |
| | | lWhWarningService.checkKuCun(warehouseType, warehouseId, baseModelIdList); |
| | | // log.info("没有达到阈值的物品"); |
| | | if (CollectionUtils.isEmpty(kuCunNotifyList)) { |
| | | kuCunNormalModel(warehouseType, warehouseId, baseModelIdList); |
| | | return; |
| | |
| | | import com.consum.base.pojo.BaseWarehouseParam; |
| | | import com.consum.base.service.BaseWarehouseService; |
| | | import com.consum.base.service.FinSysTenantService; |
| | | import com.consum.base.service.SDictDataServiceImpl; |
| | | import com.consum.base.service.SDictDataService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.FinSysTenant; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | |
| | | @Autowired |
| | | private FinSysTenantService finSysTenantService; |
| | | @Autowired |
| | | private SDictDataServiceImpl sDictDataService; |
| | | private SDictDataService sDictDataService; |
| | | |
| | | /** |
| | | * @Description 新增 |
File was renamed from consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.impl; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | 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.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.consum.base.core.CodeGeneratorEnum; |
| | | import com.consum.base.core.CodeGeneratorService; |
| | | import com.consum.base.core.DepFormScrappedCoreServiceImpl; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.pojo.DepFormScrappedGoodsParam; |
| | |
| | | import com.consum.base.pojo.LDeptFormScrappedParam; |
| | | import com.consum.base.pojo.query.LDeptFormScrappedQry; |
| | | import com.consum.base.pojo.response.DepFormScrappedExtendVo; |
| | | import com.consum.model.po.*; |
| | | import com.consum.base.service.BaseCategoryService; |
| | | import com.consum.base.service.BaseGoodsModelsService; |
| | | import com.consum.base.service.DepFormScrappedService; |
| | | import com.consum.base.service.FinSysTenantDepartmentService; |
| | | import com.consum.base.service.LWhFormTransferService; |
| | | import com.consum.base.service.SDictDataService; |
| | | import com.consum.base.service.core.DepFormScrappedCoreService; |
| | | import com.consum.model.po.BaseCategory; |
| | | import com.consum.model.po.DepFormScrapped; |
| | | import com.consum.model.po.DepFormScrappedGoods; |
| | | import com.consum.model.po.DepFormScrappedModel; |
| | | import com.consum.model.po.FinSysTenantDepartment; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | | import com.consum.model.po.SDictData; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import com.walker.web.ResponseValue; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import cn.hutool.core.convert.Convert; |
| | | |
| | | /** |
| | | * @ClassName DepFormScrappedServiceImpl |
| | |
| | | * @Version 1.0 |
| | | **/ |
| | | @Service |
| | | public class DepFormScrappedServiceImpl extends BaseServiceImpl { |
| | | public class DepFormScrappedServiceImpl extends BaseServiceImpl implements DepFormScrappedService { |
| | | |
| | | @Resource |
| | | private CodeGeneratorService codeGeneratorService; |
| | |
| | | @Resource |
| | | private BaseCategoryService baseCategoryService; |
| | | @Resource |
| | | private SDictDataServiceImpl sDictDataService; |
| | | private SDictDataService sDictDataService; |
| | | @Resource |
| | | private BaseGoodsModelsService baseGoodsModelsService; |
| | | |
| | | @Resource |
| | | private DepFormScrappedCoreServiceImpl depFormScrappedCoreService; |
| | | private DepFormScrappedCoreService depFormScrappedCoreService; |
| | | |
| | | @Transactional |
| | | public ResponseValue add(LDeptFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) { |
| | | @Override |
| | | public void add(LDeptFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) throws Exception { |
| | | long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); |
| | | |
| | | //1.新增报废单记录 |
| | | // 1.新增报废单记录 |
| | | DepFormScrapped lDeptFormScrapped = new DepFormScrapped(); |
| | | //报废单id |
| | | // 报废单id |
| | | long lWhFormScrappedId = IdUtil.generateId(); |
| | | lDeptFormScrapped.setId(lWhFormScrappedId); |
| | | lDeptFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped)); |
| | |
| | | FinSysTenantDepartment sysTenantDepartment = departmentService.getById(param.getDepartmentId()); |
| | | if (sysTenantDepartment == null) { |
| | | log.error("部门不存在"); |
| | | return ResponseValue.error("部门不存在"); |
| | | throw new RuntimeException("部门不存在"); |
| | | } |
| | | lDeptFormScrapped.setOutWarehouseName(sysTenantDepartment.getName()); |
| | | |
| | |
| | | lDeptFormScrapped.setDealTime(param.getDealTime()); |
| | | lDeptFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId())); |
| | | lDeptFormScrapped.setAgencyName(sysInfo.getTenantName()); |
| | | //根据部门id查询部门 |
| | | // 根据部门id查询部门 |
| | | FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId()); |
| | | if (department != null) { |
| | | lDeptFormScrapped.setDepartmentId(sysInfo.getSysDeptId()); |
| | |
| | | lDeptFormScrapped.setCreateTime(dealTime); |
| | | lDeptFormScrapped.setStates(1); |
| | | |
| | | //2.报废单物品【DEP_FORM_SCRAPPED_GOODS】 |
| | | // 2.报废单物品【DEP_FORM_SCRAPPED_GOODS】 |
| | | List<DepFormScrappedGoodsParam> scrappedGoodsInfo = param.getGoods(); |
| | | if (CollectionUtils.isEmpty(scrappedGoodsInfo)) { |
| | | return ResponseValue.error("报废单物品不能为空"); |
| | | throw new RuntimeException("报废单物品不能为空"); |
| | | } |
| | | ArrayList<DepFormScrappedGoods> scrappedGoodsArrayList = new ArrayList<>(); |
| | | ArrayList<DepFormScrappedModel> modelArrayList = new ArrayList<>(); |
| | |
| | | Long transBusinessId = depFormScrappedGoodsParam.getTransBusinessId(); |
| | | LWhFormTransfer lWhFormTransfer = lWhFormTransferService.get(new LWhFormTransfer(transBusinessId)); |
| | | if (lWhFormTransfer == null) { |
| | | return ResponseValue.error("报废单物品不能为空"); |
| | | throw new RuntimeException("报废单物品不能为空"); |
| | | |
| | | } |
| | | depFormScrappedGoods.setTransBusinessId(transBusinessId); |
| | |
| | | // 型号信息 |
| | | List<DepFormScrappedModelParam> modelList = depFormScrappedGoodsParam.getModels(); |
| | | if (CollectionUtils.isEmpty(modelList)) { |
| | | return ResponseValue.error("报废单物品型号不能为空"); |
| | | throw new RuntimeException("报废单物品型号不能为空"); |
| | | |
| | | } |
| | | //获取报废原因code |
| | | List<Long> scrappedCodeList = modelList.stream().map(params -> params.getScrappedCode()).collect(Collectors.toList()); |
| | | //根据报废原因code查询数据字典 |
| | | // 获取报废原因code |
| | | List<Long> scrappedCodeList = |
| | | modelList.stream().map(params -> params.getScrappedCode()).collect(Collectors.toList()); |
| | | // 根据报废原因code查询数据字典 |
| | | List<SDictData> SDictDataList = sDictDataService.selectByScrappedCodeList(scrappedCodeList); |
| | | Map<Long, String> scrappedNameMap = SDictDataList.stream().collect(Collectors.toMap(s -> s.getDict_code(), s -> s.getDict_label())); |
| | | Map<Long, String> scrappedNameMap = |
| | | SDictDataList.stream().collect(Collectors.toMap(s -> s.getDict_code(), s -> s.getDict_label())); |
| | | |
| | | for (DepFormScrappedModelParam depFormScrappedModelParam : modelList) { |
| | | DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); |
| | | depFormScrappedModel.setId(IdUtil.generateId()); |
| | | depFormScrappedModel.setDepFormScrappedId(lWhFormScrappedId); |
| | | depFormScrappedModel.setDepFormScrappedGoodsId(depFormScrappedGoods.getId()); |
| | | //报废原因 |
| | | // 报废原因 |
| | | depFormScrappedModel.setScrappedCode(depFormScrappedModelParam.getScrappedCode()); |
| | | depFormScrappedModel.setScrappedName(scrappedNameMap.get(depFormScrappedModel.getScrappedCode())); |
| | | |
| | | // 物品 及 型号 信息 |
| | | Long baseGoodsModelsId = depFormScrappedModelParam.getBaseGoodsModelsId(); |
| | | if (baseGoodsModelsId == null) { |
| | | return ResponseValue.error("报废单物品型号不能为空"); |
| | | throw new RuntimeException("报废单物品型号不能为空"); |
| | | } |
| | | List<Map<String, Object>> modelInfoList = baseGoodsModelsService.queryGoodsModelInfo(baseGoodsModelsId); |
| | | if (CollectionUtils.isEmpty(modelInfoList)) { |
| | | return ResponseValue.error("未查询到报废单物品型号"); |
| | | throw new RuntimeException("未查询到报废单物品型号"); |
| | | } |
| | | Map<String, Object> modelInfo = modelInfoList.get(0); |
| | | depFormScrappedModel.setBaseGoodsTemplateId(Convert.toLong(modelInfo.get("goodsId"))); |
| | |
| | | depFormScrappedModel.setBaseGoodsModelsId(baseGoodsModelsId); |
| | | depFormScrappedModel.setBaseGoodsModelsName(Convert.toStr(modelInfo.get("modelName"))); |
| | | |
| | | //调拨单信息 |
| | | // 调拨单信息 |
| | | depFormScrappedModel.setProcureModelUserId(depFormScrappedModelParam.getModelUserId()); |
| | | depFormScrappedModel.setGoodsUserName(depFormScrappedModelParam.getNowUserName()); |
| | | depFormScrappedModel.setInitialCount(depFormScrappedModelParam.getGoodsNum()); |
| | | depFormScrappedModel.setUseCount(depFormScrappedModelParam.getUserUseCount()); |
| | | depFormScrappedModel.setCounts(depFormScrappedModelParam.getCounts()); |
| | | |
| | | //增加到批量插入list |
| | | // 增加到批量插入list |
| | | modelArrayList.add(depFormScrappedModel); |
| | | } |
| | | //增加到批量插入list |
| | | // 增加到批量插入list |
| | | scrappedGoodsArrayList.add(depFormScrappedGoods); |
| | | } |
| | | |
| | | int flag1 = this.insert(lDeptFormScrapped); |
| | | if (flag1 == 0) { |
| | | log.error("新增报废单失败"); |
| | | return ResponseValue.error("新增报废单失败"); |
| | | throw new RuntimeException("新增报废单失败"); |
| | | } |
| | | int i = insertBatch(scrappedGoodsArrayList); |
| | | int i2 = insertBatch(modelArrayList); |
| | | depFormScrappedCoreService.updateScrapped(lWhFormScrappedId,currentUser,dealTime); |
| | | return ResponseValue.success(); |
| | | insertBatch(scrappedGoodsArrayList); |
| | | insertBatch(modelArrayList); |
| | | depFormScrappedCoreService.updateScrapped(lWhFormScrappedId, currentUser, dealTime); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 列表查询 |
| | | */ |
| | | private static String QUERY_LIST = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME,SUM(model.COUNTS) total_Count,model.unit FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID where 1=1"; |
| | | private static String QUERY_LIST_END = " GROUP BY scrap.id,scrap.BUSINESS_FORM_CODE,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME ORDER BY scrap.DEAL_TIME DESC"; |
| | | private static String QUERY_LIST = |
| | | "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME,SUM(model.COUNTS) total_Count,model.unit FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID where 1=1"; |
| | | private static String QUERY_LIST_END = |
| | | " GROUP BY scrap.id,scrap.BUSINESS_FORM_CODE,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME ORDER BY scrap.DEAL_TIME DESC"; |
| | | |
| | | @Override |
| | | public GenericPager<Map<String, Object>> queryList(LDeptFormScrappedQry param) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(QUERY_LIST); |
| | | //报废单号 |
| | | // 报废单号 |
| | | if (!StringUtils.isEmpty(param.getBusinessFormCode())) { |
| | | sql.append(" and scrap.BUSINESS_FORM_CODE = :businessFormCode "); |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | } |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | //物品名称 |
| | | // 物品名称 |
| | | if (!StringUtils.isEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //创建人 |
| | | // 创建人 |
| | | if (!StringUtils.isEmpty(param.getOperatorName())) { |
| | | sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); |
| | | paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //报废时间 |
| | | // 报废时间 |
| | | if (param.getStartTime() != null) { |
| | | sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getStartTime() * 1000000); |
| | |
| | | return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 根据id查询详情 |
| | | */ |
| | | @Override |
| | | public DepFormScrappedExtendVo getById(Long id) { |
| | | DepFormScrappedExtendVo scrappedExtend = new DepFormScrappedExtendVo(); |
| | | //1.查询报废单 |
| | | // 1.查询报废单 |
| | | DepFormScrapped lWhFormScrapped = this.get(new DepFormScrapped(id)); |
| | | if (lWhFormScrapped != null) { |
| | | BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend); |
| | | } |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | //2.查询报废单物品 |
| | | // 2.查询报废单物品 |
| | | DepFormScrappedGoods goodsQuery = new DepFormScrappedGoods(); |
| | | goodsQuery.setDepFormScrappedId(id); |
| | | List<DepFormScrappedGoods> formScrappedGoodsList = select(goodsQuery); |
| | |
| | | depFormScrappedModel.setDepFormScrappedGoodsId(scrappedGoodsId); |
| | | List<DepFormScrappedModel> scrappedModelList = select(depFormScrappedModel); |
| | | List<List<DepFormScrappedModel>> modelList = scrappedModelList.stream() |
| | | .collect(Collectors.groupingBy(DepFormScrappedModel::getBaseGoodsModelsId)) |
| | | .values().stream() |
| | | .map(list -> list.stream().collect(Collectors.toList())) |
| | | .collect(Collectors.toList()); |
| | | .collect(Collectors.groupingBy(DepFormScrappedModel::getBaseGoodsModelsId)).values().stream() |
| | | .map(list -> list.stream().collect(Collectors.toList())).collect(Collectors.toList()); |
| | | |
| | | scrappedGoodsMap.put("models", modelList); |
| | | goodsList.add(scrappedGoodsMap); |
| | |
| | | return scrappedExtend; |
| | | } |
| | | |
| | | private static String EXPORT_SQL = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,model.COUNTS,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,scrap.OUT_WAREHOUSE_NAME,ROUND( IFNULL( TOTAL_AMOUNT, 0 )/ 100, 2 ) AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; |
| | | private static String EXPORT_SQL = |
| | | "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,model.COUNTS,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,scrap.OUT_WAREHOUSE_NAME,ROUND( IFNULL( TOTAL_AMOUNT, 0 )/ 100, 2 ) AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; |
| | | private static String EXPORT_SQL_END = "order by scrap.DEAL_TIME DESC"; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> export(Long id, String agencyId) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(EXPORT_SQL); |
| | | //报废单号 |
| | | // 报废单号 |
| | | if (id != null) { |
| | | sql.append(" and scrap.id = :id"); |
| | | paramts.put("id", id); |
| | | } |
| | | //机构 |
| | | // 机构 |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | if (agencyId != null) { |
| | | paramts.put("agencyId", agencyId); |
| | |
| | | return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> listByModel(LDeptFormScrappedQry param) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(EXPORT_SQL); |
| | | //报废单id |
| | | // 报废单id |
| | | if (param.getId() != null) { |
| | | sql.append(" and scrap.id = :id"); |
| | | paramts.put("id", param.getId()); |
| | | } |
| | | //报废单号 |
| | | // 报废单号 |
| | | if (param.getBusinessFormCode() != null) { |
| | | sql.append(" and scrap.BUSINESS_FORM_CODE= :businessFormCode"); |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | } |
| | | //物品名称 |
| | | // 物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //规格型号 |
| | | // 规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sql.append("and model.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | |
| | | sql.append(" and scrap.OUT_WAREHOUSE_ID= :departmentId"); |
| | | paramts.put("departmentId", param.getDepartmentId()); |
| | | } |
| | | //创建人 |
| | | // 创建人 |
| | | if (!StringUtils.isEmpty(param.getOperatorName())) { |
| | | sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); |
| | | paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //报废时间 |
| | | // 报废时间 |
| | | if (param.getStartTime() != null) { |
| | | sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getStartTime() * 1000000); |
| | |
| | | return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); |
| | | } |
| | | |
| | | @Override |
| | | public GenericPager<Map<String, Object>> listByModel2(LDeptFormScrappedQry param) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(EXPORT_SQL); |
| | | //报废单id |
| | | // 报废单id |
| | | if (param.getId() != null) { |
| | | sql.append(" and scrap.id = :id"); |
| | | paramts.put("id", param.getId()); |
| | | } |
| | | //报废单号 |
| | | // 报废单号 |
| | | if (param.getBusinessFormCode() != null) { |
| | | sql.append(" and scrap.BUSINESS_FORM_CODE= :businessFormCode"); |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | } |
| | | //物品名称 |
| | | // 物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //规格型号 |
| | | // 规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sql.append("and model.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | |
| | | sql.append(" and scrap.OUT_WAREHOUSE_ID= :departmentId"); |
| | | paramts.put("departmentId", param.getDepartmentId()); |
| | | } |
| | | //创建人 |
| | | // 创建人 |
| | | if (!StringUtils.isEmpty(param.getOperatorName())) { |
| | | sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); |
| | | paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //报废时间 |
| | | // 报废时间 |
| | | if (param.getStartTime() != null) { |
| | | sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getStartTime() * 1000000); |
| | |
| | | sql.append(" and scrap.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); |
| | | } |
| | | return selectSplit(sql.append(EXPORT_SQL_END).toString(),paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | return selectSplit(sql.append(EXPORT_SQL_END).toString(), paramts, param.getPageNum(), param.getPageSize(), |
| | | new MapperUtil()); |
| | | |
| | | // return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); |
| | | } |
| | | |
| | | private static String GET_BF_MODEL_LIST = "SELECT\n" + |
| | | "\tscrGoods.TRANS_BUSINESS_ID,\n" + |
| | | "\tscrGoods.BUSINESS_FORM_CODE,\n" + |
| | | "\tscrGoods.TRANS_OUT_WAREHOUSE_TYPE,\n" + |
| | | "\tscrGoods.TRANS_OUT_WAREHOUSE_ID,\n" + |
| | | "\tgoodsModel.BASE_GOODS_TEMPLATE_ID,\n" + |
| | | "\tgoodsModel.COUNTS,\n" + |
| | | "\tgoodsModel.PROCURE_MODEL_USER_ID,\n" + |
| | | "\tgoodsModel.GOODS_USER_NAME \n" + |
| | | "FROM\n" + |
| | | "\tDEP_FORM_SCRAPPED_GOODS scrGoods\n" + |
| | | "\tLEFT JOIN DEP_FORM_SCRAPPED_MODEL goodsModel ON scrgoods.id = goodsModel.DEP_FORM_SCRAPPED_GOODS_ID"; |
| | | |
| | | public List<Map<String, Object>> getBfModelList(Long lWhFormScrappedId) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(GET_BF_MODEL_LIST); |
| | | //报废单id |
| | | sql.append(" and scrGoods.DEP_FORM_SCRAPPED_ID = :lWhFormScrappedId"); |
| | | paramts.put("lWhFormScrappedId", lWhFormScrappedId); |
| | | return select(sql.toString(), paramts, new MapperUtil()); |
| | | } |
| | | } |
New file |
| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.GoodsBaseService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | |
| | | /** |
| | | * @ClassName GoodsBaseServiceImpl |
| | | * |
| | | * @Date 2023/11/2 |
| | | * @Description |
| | | * @Version 1.0 |
| | | **/ |
| | | @Service |
| | | public class GoodsBaseServiceImpl extends BaseServiceImpl implements GoodsBaseService { |
| | | |
| | | } |
| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.core.LWhFormInventoryCoreService; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.core.LWhFormOutputCoreService; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | |
| | | import com.consum.base.service.LWhFormScrappedGoodsService; |
| | | import com.consum.base.service.LWhFormScrappedService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.base.service.SDictDataServiceImpl; |
| | | import com.consum.base.service.SDictDataService; |
| | | import com.consum.base.service.core.LWhFormScrappedCoreService; |
| | | import com.consum.model.po.BaseGoodsModels; |
| | | import com.consum.model.po.BaseGoodsTemplate; |
| | | import com.consum.model.po.BaseWarehouse; |
| | |
| | | @Autowired |
| | | private LWhFormScrappedGoodsService scrappedGoodsService; |
| | | @Autowired |
| | | private SDictDataServiceImpl sDictDataService; |
| | | private SDictDataService sDictDataService; |
| | | @Autowired |
| | | private BaseGoodsModelsService baseGoodsModelsService; |
| | | @Autowired |
New file |
| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.LWhGoodsStatisticsService; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.pojo.query.LWhGoodsStatisQry; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | |
| | | /** |
| | | * @ClassName LWhGoodsStatisticsServiceImpl |
| | | * @Author cy |
| | | * @Date 2023/11/21 |
| | | * @Description |
| | | * @Version 1.0 |
| | | **/ |
| | | @Service |
| | | public class LWhGoodsStatisticsServiceImpl extends BaseServiceImpl implements LWhGoodsStatisticsService { |
| | | private String GET_WHGOODS_STATIS_LIST_COLUMN = |
| | | "SELECT tCangKu.org_name,tCangKu.WAREHOUSE_NAME,goodsTemp.GOODS_CODE,tKuCun.GOODS_TEMPLATE_NAME,tKuCun.BASE_GOODS_MODELS_NAME,CASE tKuCun.COST_TYPE WHEN 1 THEN 'A类' WHEN 2 THEN 'B类' WHEN 3 THEN 'C类' END AS cost_Type,tKuCun.total_num,tKuCun.zai_ku_num,tKuCun.diao_bo_num,tKuCun.bao_fei_num FROM "; |
| | | private String GET_WHGOODS_STATIS_LIST_T_CANGKU = |
| | | "(SELECT tenant.id tenantId,tenant.NAME AS org_name,ware.*FROM fin_sys_tenant tenant right JOIN (SELECT 0 WAREHOUSE_TYPE,id,AGENCY_ID,WAREHOUSE_NAME FROM BASE_WAREHOUSE UNION ALL SELECT 1 WAREHOUSE_TYPE,id,TENANT_ID AGENCY_ID,`NAME` WAREHOUSE_NAME FROM fin_sys_tenant_department) ware ON tenant.id=ware.AGENCY_ID "; |
| | | private String GET_WHGOODS_STATIS_LIST_T_CANGKU_WHERE = "where 1=1"; |
| | | private String GET_WHGOODS_STATIS_LIST_T_CANGKU_END = ") tCangKu LEFT JOIN"; |
| | | private String GET_WHGOODS_STATIS_LIST_T_KUCUN = |
| | | "(SELECT WAREHOUSE_TYPE,WAREHOUSE_ID,BASE_GOODS_TEMPLATE_ID,GOODS_TEMPLATE_NAME,COST_TYPE,BASE_GOODS_MODELS_ID,BASE_GOODS_MODELS_NAME,COUNT(CASE WHEN goods.STATES BETWEEN 0 AND 2 THEN 1 END) AS total_num,count(CASE WHEN goods.STATES=1 OR goods.STATES=2 THEN 1 END) zai_ku_num,count(CASE WHEN goods.STATES=0 THEN 1 END) diao_bo_num,count(CASE WHEN goods.STATES=3 THEN 1 END) bao_fei_num FROM l_wh_goods goods "; |
| | | private String GET_WHGOODS_STATIS_LIST_T_KUCUN_WHERE = "where 1=1"; |
| | | private String GET_WHGOODS_STATIS_LIST_T_KUCUN_GROUP_BY = |
| | | " GROUP BY WAREHOUSE_TYPE,WAREHOUSE_ID,BASE_GOODS_TEMPLATE_ID,GOODS_TEMPLATE_NAME,BASE_GOODS_MODELS_ID,BASE_GOODS_MODELS_NAME,COST_TYPE) tKuCun ON tCangKu.WAREHOUSE_TYPE=tKuCun.WAREHOUSE_TYPE and tCangKu.id = tKuCun.WAREHOUSE_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON goodsTemp.id=tKuCun.BASE_GOODS_TEMPLATE_ID "; |
| | | private String GET_WHGOODS_STATIS_LIST_T_END_WHERE = " where 1=1"; |
| | | |
| | | @Override |
| | | public List getWhGoodsStatisList(LWhGoodsStatisQry param) { |
| | | StringBuilder sqlColumn = new StringBuilder(GET_WHGOODS_STATIS_LIST_COLUMN); |
| | | StringBuilder sqlCangKu = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_CANGKU); |
| | | StringBuilder sqlCangKuWhere = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_CANGKU_WHERE); |
| | | StringBuilder sqlCangKuEnd = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_CANGKU_END); |
| | | StringBuilder sqlKuCun = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_KUCUN); |
| | | StringBuilder sqlKuCunWhere = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_KUCUN_WHERE); |
| | | StringBuilder sqlKuCunGoupBy = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_KUCUN_GROUP_BY); |
| | | StringBuilder sqlEndWhere = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_END_WHERE); |
| | | |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | // sqlCangKuWhere.append(" AND left(tenant.id, length(:lengthAgencyId)) = :agencyId"); |
| | | sqlCangKuWhere.append(" AND tenant.id = :agencyId"); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | // 部门 |
| | | if (param.getDepartmentId() != null) { |
| | | sqlCangKuWhere.append(" AND ware.WAREHOUSE_TYPE=1 and ware.id = :departmentId"); |
| | | paramts.put("departmentId", param.getDepartmentId()); |
| | | } |
| | | // 仓库 |
| | | if (param.getBaseWarehouseId() != null) { |
| | | sqlCangKuWhere.append(" AND ware.WAREHOUSE_TYPE =0 and ware.id = :warehouseId"); |
| | | paramts.put("warehouseId", param.getBaseWarehouseId()); |
| | | } |
| | | // 物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sqlKuCunWhere.append(" AND goods.GOODS_TEMPLATE_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getGoodsTemplateId() != null) { |
| | | sqlKuCunWhere.append(" AND goods.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId"); |
| | | paramts.put("goodsTemplateId", param.getGoodsTemplateId()); |
| | | } |
| | | // 规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sqlKuCunWhere.append(" AND goods.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | // 价值类型 |
| | | if (param.getCostType() != null) { |
| | | // 将数字转换为对应的字符 |
| | | char costType = (char)('A' + param.getCostType() - 1); |
| | | sqlKuCunWhere.append(" AND goods.COST_TYPE=':costType'"); |
| | | paramts.put("costType", costType); |
| | | } |
| | | |
| | | // // 操作时间 |
| | | // if (param.getDealTimeStart() != null) { |
| | | // sqlEnd.append(" and flow.DEAL_TIME >=:dealTimeStart "); |
| | | // paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000); |
| | | // } |
| | | // if (param.getDealTimeEnd() != null) { |
| | | // sqlEnd.append(" and flow.DEAL_TIME <:dealTimeEnd "); |
| | | // paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000); |
| | | // } |
| | | sqlEndWhere.append(" ORDER BY tKuCun.total_num desc,tCangKu.tenantId asc"); |
| | | |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(sqlColumn).append(sqlCangKu).append(sqlCangKuWhere).append(sqlCangKuEnd).append(sqlKuCun) |
| | | .append(sqlKuCunWhere).append(sqlKuCunGoupBy) |
| | | |
| | | .append(sqlEndWhere); |
| | | |
| | | return select(sql.toString(), paramts, new MapperUtil()); |
| | | } |
| | | } |
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.LWhWarningConfigService; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.pojo.query.WhWarningConfigQry; |
| | |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @ClassName LWhWarningConfigServiceImpl |
| | |
| | | * @Version 1.0 |
| | | **/ |
| | | @Service |
| | | public class LWhWarningConfigServiceImpl extends BaseServiceImpl { |
| | | private static String GET_CONFIG_LIST_WITH_PAGE = "SELECT wareConf.*,ware.AGENCY_NAME,ware.WAREHOUSE_NAME,goodsTemp.CATEGORY_NAME,CONCAT(cate.CLASSIFICATION,'类') cost_Type,goodsTemp.GOODS_NAME,baseModel.MODEL_NAME FROM WH_WARNING_CONFIG wareConf LEFT JOIN BASE_GOODS_MODELS baseModel ON baseModel.ID=wareConf.BASE_GOODS_MODELS_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON wareConf.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN BASE_CATEGORY cate ON cate.id=goodsTemp.CATEGORY_ID LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareConf.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | public class LWhWarningConfigServiceImpl extends BaseServiceImpl implements LWhWarningConfigService { |
| | | private static String GET_CONFIG_LIST_WITH_PAGE = |
| | | "SELECT wareConf.*,ware.AGENCY_NAME,ware.WAREHOUSE_NAME,goodsTemp.CATEGORY_NAME,CONCAT(cate.CLASSIFICATION,'类') cost_Type,goodsTemp.GOODS_NAME,baseModel.MODEL_NAME FROM WH_WARNING_CONFIG wareConf LEFT JOIN BASE_GOODS_MODELS baseModel ON baseModel.ID=wareConf.BASE_GOODS_MODELS_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON wareConf.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN BASE_CATEGORY cate ON cate.id=goodsTemp.CATEGORY_ID LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareConf.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | |
| | | @Override |
| | | public GenericPager<Map<String, Object>> getConfigListWithPage(WhWarningConfigQry param) { |
| | | Map<String, Object> configListQueryMap = getConfigListQueryMap(param); |
| | | StringBuilder sql = (StringBuilder) configListQueryMap.get("sql"); |
| | | HashMap<String, Object> paramts = (HashMap<String, Object>) configListQueryMap.get("paramts"); |
| | | StringBuilder sql = (StringBuilder)configListQueryMap.get("sql"); |
| | | HashMap<String, Object> paramts = (HashMap<String, Object>)configListQueryMap.get("paramts"); |
| | | return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); |
| | | } |
| | | |
| | | |
| | | private Map<String, Object> getConfigListQueryMap(WhWarningConfigQry param) { |
| | | @Override |
| | | public Map<String, Object> getConfigListQueryMap(WhWarningConfigQry param) { |
| | | Map<String, Object> configListQueryMap = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(GET_CONFIG_LIST_WITH_PAGE); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | // sql.append(" and left(ware.AGENCY_ID, length(:lengthAgencyId)) = :agencyId"); |
| | | // sql.append(" and left(ware.AGENCY_ID, length(:lengthAgencyId)) = :agencyId"); |
| | | sql.append(" and ware.AGENCY_ID = :agencyId"); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | //仓库类型 |
| | | // 仓库类型 |
| | | if (param.getWarehouseType() != null) { |
| | | sql.append(" AND wareConf.WAREHOUSE_TYPE = :warehouseType"); |
| | | paramts.put("warehouseType", param.getWarehouseType()); |
| | |
| | | sql.append(" AND wareConf.BASE_WAREHOUSE_ID = :warehouseId"); |
| | | paramts.put("warehouseId", param.getBaseWarehouseId()); |
| | | } |
| | | //物品名称 |
| | | // 物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" AND goodsTemp.GOODS_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getBaseGoodsTemplateId() != null) { |
| | | sql.append(" AND wareConf.BASE_GOODS_TEMPLATE_ID=:baseGoodsTemplateId"); |
| | | paramts.put("baseGoodsTemplateId", param.getBaseGoodsTemplateId()); |
| | | } |
| | | //分类 |
| | | // 分类 |
| | | if (param.getCategoryId() != null) { |
| | | sql.append(" AND cate.id=:categoryId"); |
| | | paramts.put("categoryId", param.getCategoryId()); |
| | | } |
| | | //价值类型 |
| | | // 价值类型 |
| | | if (param.getCostType() != null) { |
| | | // 将数字转换为对应的字符 |
| | | char costType = (char) ('A' + param.getCostType() - 1); |
| | | char costType = (char)('A' + param.getCostType() - 1); |
| | | sql.append(" AND cate.CLASSIFICATION=:costType"); |
| | | paramts.put("costType", costType); |
| | | } |
| | |
| | | return configListQueryMap; |
| | | } |
| | | |
| | | private String QUERY_MODEL_IS_EXIST = ""; |
| | | |
| | | public List<Map<String, Object>> queryModelIsExist(Integer warehouseType, Long baseWarehouseId, List<Long> modelIds) { |
| | | StringBuilder sql = new StringBuilder("select WAREHOUSE_TYPE, BASE_WAREHOUSE_ID, BASE_GOODS_MODELS_ID from WH_WARNING_CONFIG where 1=1"); |
| | | @Override |
| | | public List<Map<String, Object>> queryModelIsExist(Integer warehouseType, Long baseWarehouseId, |
| | | List<Long> modelIds) { |
| | | StringBuilder sql = new StringBuilder( |
| | | "select WAREHOUSE_TYPE, BASE_WAREHOUSE_ID, BASE_GOODS_MODELS_ID from WH_WARNING_CONFIG where 1=1"); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | |
| | | //仓库类型 |
| | | // 仓库类型 |
| | | if (warehouseType != null) { |
| | | sql.append(" AND WAREHOUSE_TYPE = :warehouseType"); |
| | | paramts.put("warehouseType", warehouseType); |
| | |
| | | } |
| | | return select(sql.toString(), paramts, new MapperUtil()); |
| | | } |
| | | |
| | | |
| | | } |
File was renamed from consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.base.service.LWhWarningService; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.pojo.query.WhWarningQry; |
| | |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @ClassName LWhWarningServiceImpl |
| | |
| | | * @Version 1.0 |
| | | **/ |
| | | @Service |
| | | public class LWhWarningServiceImpl extends BaseServiceImpl { |
| | | private static String GET_WARNING_TYPE_NUM = "SELECT COUNT(1) AS total_num,count(CASE WHEN wareWarn.WARNING_TYPE=1 THEN 1 ELSE NULL END) AS up_num,count(CASE WHEN wareWarn.WARNING_TYPE=2 THEN 1 ELSE NULL END) AS low_num FROM WH_WARNING wareWarn LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | public class LWhWarningServiceImpl extends BaseServiceImpl implements LWhWarningService { |
| | | private static String GET_WARNING_TYPE_NUM = |
| | | "SELECT COUNT(1) AS total_num,count(CASE WHEN wareWarn.WARNING_TYPE=1 THEN 1 ELSE NULL END) AS up_num,count(CASE WHEN wareWarn.WARNING_TYPE=2 THEN 1 ELSE NULL END) AS low_num FROM WH_WARNING wareWarn LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | |
| | | @Override |
| | | public Map<String, Object> getWarningTypeNum(WhWarningQry param) { |
| | | StringBuilder sql = new StringBuilder(GET_WARNING_TYPE_NUM); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | |
| | | sql.append(" AND wareWarn.states = :states"); |
| | | paramts.put("states", param.getStates()); |
| | | } |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and ware.AGENCY_ID=:agencyId"); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | |
| | | |
| | | } |
| | | |
| | | private static String GET_LIST_WITH_PAGE = "SELECT wareWarn.*,ware.WAREHOUSE_NAME,goodsTemp.CATEGORY_NAME,CONCAT(cate.CLASSIFICATION,'类') cost_Type,goodsTemp.GOODS_NAME,baseModel.MODEL_NAME,basemodel.UNIT FROM WH_WARNING wareWarn LEFT JOIN BASE_GOODS_MODELS baseModel ON baseModel.ID=wareWarn.BASE_GOODS_MODELS_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON wareWarn.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN BASE_CATEGORY cate ON cate.id=goodsTemp.CATEGORY_ID LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | private static String GET_LIST_WITH_PAGE = |
| | | "SELECT wareWarn.*,ware.WAREHOUSE_NAME,goodsTemp.CATEGORY_NAME,CONCAT(cate.CLASSIFICATION,'类') cost_Type,goodsTemp.GOODS_NAME,baseModel.MODEL_NAME,basemodel.UNIT FROM WH_WARNING wareWarn LEFT JOIN BASE_GOODS_MODELS baseModel ON baseModel.ID=wareWarn.BASE_GOODS_MODELS_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON wareWarn.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN BASE_CATEGORY cate ON cate.id=goodsTemp.CATEGORY_ID LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 "; |
| | | |
| | | @Override |
| | | public GenericPager<Map<String, Object>> getListWithPage(WhWarningQry param) { |
| | | StringBuilder sql = new StringBuilder(GET_LIST_WITH_PAGE); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | |
| | | sql.append(" AND wareWarn.states = :states"); |
| | | paramts.put("states", param.getStates()); |
| | | } |
| | | //机构 |
| | | // 机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and ware.AGENCY_ID=:agencyId"); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | // paramts.put("lengthAgencyId", param.getAgencyId()); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | //仓库类型 |
| | | // 仓库类型 |
| | | if (param.getWarehouseType() != null) { |
| | | sql.append(" AND wareWarn.WAREHOUSE_TYPE = :warehouseType"); |
| | | paramts.put("warehouseType", param.getWarehouseType()); |
| | |
| | | sql.append(" AND wareWarn.WAREHOUSE_ID = :warehouseId"); |
| | | paramts.put("warehouseId", param.getBaseWarehouseId()); |
| | | } |
| | | //物品名称 |
| | | // 物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" AND goodsTemp.GOODS_NAME like :goodsTemplateName"); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | paramts.put("goodsTemplateName", |
| | | StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if (param.getGoodsTemplateId() != null) { |
| | | sql.append(" AND goodsTemp.id=:goodsTemplateId"); |
| | | paramts.put("goodsTemplateId", param.getGoodsTemplateId()); |
| | | } |
| | | //分类 |
| | | // 分类 |
| | | if (param.getCategoryId() != null) { |
| | | sql.append(" AND cate.id=:categoryId"); |
| | | paramts.put("categoryId", param.getCategoryId()); |
| | | } |
| | | //价值类型 |
| | | // 价值类型 |
| | | if (param.getCostType() != null) { |
| | | // 将数字转换为对应的字符 |
| | | char costType = (char) ('A' + param.getCostType() - 1); |
| | | char costType = (char)('A' + param.getCostType() - 1); |
| | | sql.append(" AND cate.CLASSIFICATION=':costType'"); |
| | | paramts.put("costType", costType); |
| | | } |
| | |
| | | sql.append(" AND wareWarn.WARNING_TYPE=:warningType"); |
| | | paramts.put("warningType", param.getWarningType()); |
| | | } |
| | | //规格型号 |
| | | // 规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sql.append(" AND wareWarn.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | |
| | | * @param warehouseId |
| | | * @param baseModelId |
| | | */ |
| | | private String CHECK_KUCUN_PREFIX = "SELECT warnConf.*,goods.goods_Num,CASE WHEN warnConf.LOWER_LIMIT>=goods.goods_Num THEN 2 WHEN warnConf.UPPER_LIMIT<=goods.goods_Num THEN 1 END AS WARNING_TYPE FROM ("; |
| | | private String CHECK_KUCUN_CONFIG_PREFIX = "SELECT WAREHOUSE_TYPE,BASE_WAREHOUSE_ID,BASE_GOODS_MODELS_ID,LOWER_LIMIT,UPPER_LIMIT FROM WH_WARNING_CONFIG"; |
| | | private String CHECK_KUCUN_PREFIX = |
| | | "SELECT warnConf.*,goods.goods_Num,CASE WHEN warnConf.LOWER_LIMIT>=goods.goods_Num THEN 2 WHEN warnConf.UPPER_LIMIT<=goods.goods_Num THEN 1 END AS WARNING_TYPE FROM ("; |
| | | private String CHECK_KUCUN_CONFIG_PREFIX = |
| | | "SELECT WAREHOUSE_TYPE,BASE_WAREHOUSE_ID,BASE_GOODS_MODELS_ID,LOWER_LIMIT,UPPER_LIMIT FROM WH_WARNING_CONFIG"; |
| | | private String CHECK_KUCUN_CONFIG_WHERE = " WHERE 1=1"; |
| | | |
| | | private String CHECK_KUCUN_CONFIG_JOINTKUCUN = ") warnConf LEFT JOIN ("; |
| | | |
| | | private String CHECK_KUCUN_KUCUN_PREFIX = "SELECT WAREHOUSE_TYPE,WAREHOUSE_ID,BASE_GOODS_MODELS_ID,count(1) goods_Num FROM L_WH_GOODS"; |
| | | private String CHECK_KUCUN_KUCUN_PREFIX = |
| | | "SELECT WAREHOUSE_TYPE,WAREHOUSE_ID,BASE_GOODS_MODELS_ID,count(1) goods_Num FROM L_WH_GOODS"; |
| | | private String CHECK_KUCUN_KUCUN_WHERE = " WHERE 1=1 and STATES=1"; |
| | | private String CHECK_KUCUN_KUCUN_END = " GROUP BY BASE_GOODS_MODELS_ID)"; |
| | | |
| | | private String CHECK_KUCUN_END = "goods ON goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID AND goods.WAREHOUSE_TYPE=warnConf.WAREHOUSE_TYPE AND goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID WHERE (warnConf.LOWER_LIMIT>=goods.goods_Num OR warnConf.UPPER_LIMIT<=goods.goods_Num)"; |
| | | private String CHECK_KUCUN_END = |
| | | "goods ON goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID AND goods.WAREHOUSE_TYPE=warnConf.WAREHOUSE_TYPE AND goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID WHERE (warnConf.LOWER_LIMIT>=goods.goods_Num OR warnConf.UPPER_LIMIT<=goods.goods_Num)"; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> checkKuCun(Short warehouseType, Long warehouseId, List<Long> baseModelIdList) { |
| | | StringBuilder checkKucunPrefix = new StringBuilder(CHECK_KUCUN_PREFIX); |
| | | StringBuilder checkKucunConfigPrefix = new StringBuilder(CHECK_KUCUN_CONFIG_PREFIX); |
| | |
| | | paramMap.put("KuCunBaseModelIds", baseModelIdList); |
| | | } |
| | | |
| | | checkKucunPrefix.append(checkKucunConfigPrefix) |
| | | .append(checkKucunConfigWhere) |
| | | .append(checkKucunConfigJointkucun) |
| | | .append(checkKucunKucunPrefix) |
| | | .append(checkKucunKucunWhere) |
| | | .append(checkKucunKucunEnd) |
| | | .append(checkKucunEnd); |
| | | checkKucunPrefix.append(checkKucunConfigPrefix).append(checkKucunConfigWhere).append(checkKucunConfigJointkucun) |
| | | .append(checkKucunKucunPrefix).append(checkKucunKucunWhere).append(checkKucunKucunEnd) |
| | | .append(checkKucunEnd); |
| | | return select(checkKucunPrefix.toString(), paramMap, new MapperUtil()); |
| | | } |
| | | |
File was renamed from consum-base/src/main/java/com/consum/base/service/SDictDataServiceImpl.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.impl; |
| | | |
| | | import com.consum.model.po.SDictData; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import com.consum.base.service.SDictDataService; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import com.consum.model.po.SDictData; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | |
| | | @Service |
| | | public class SDictDataServiceImpl extends BaseServiceImpl { |
| | | public class SDictDataServiceImpl extends BaseServiceImpl implements SDictDataService { |
| | | |
| | | /** |
| | | * @Description 根据报废原因code查询数据字典 |
| | | * @Author 卢庆阳 |
| | | * @Date 2023/11/2 |
| | | */ |
| | | @Override |
| | | public List<SDictData> selectByScrappedCodeList(List scrappedCodeList) { |
| | | if (CollectionUtils.isEmpty(scrappedCodeList)) { |
| | | log.error("参数错误"); |
| | |
| | | StringBuilder sql = new StringBuilder("SELECT * FROM s_dict_data WHERE 1 = 1 "); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | |
| | | sql.append(" and dict_code in ( ").append( |
| | | StringUtils.join(scrappedCodeList, ",")).append(")"); |
| | | |
| | | // for (int i = 0; i < scrappedCodeList.size(); i++) { |
| | | // sql.append(scrappedCodeList.get(i)); |
| | | // if (i < scrappedCodeList.size() - 1) { |
| | | // sql.append(","); |
| | | // } |
| | | // } |
| | | // sql.append(" ) "); |
| | | sql.append(" and dict_code in ( ").append(StringUtils.join(scrappedCodeList, ",")).append(")"); |
| | | |
| | | return this.select(sql.toString(), paramts, new SDictData()); |
| | | } |
| | |
| | | |
| | | import com.consum.base.core.CodeGeneratorEnum; |
| | | import com.consum.base.core.CodeGeneratorService; |
| | | import com.consum.base.core.DepUsingFormBackCoreServiceImpl; |
| | | import com.consum.base.service.core.DepUsingFormBackCoreService; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.MapUtils; |
| | | import com.consum.base.core.utils.MapperUtil; |
| | |
| | | @Autowired |
| | | private LWhFormTransferService lWhFormTransferService; |
| | | @Resource |
| | | private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; |
| | | private DepUsingFormBackCoreService depUsingFormBackCoreService; |
| | | @Resource |
| | | private UsingFormBackModelService UsingFormBackModelService; |
| | | |