Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/IClassStandardService.java
#	lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/impl/ClassStandardServiceImpl.java
master
李永德 9 months ago
parent
commit
fe9c04e945
  1. 3
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/dao/mapper/ClassStandardMapper.java
  2. 15
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/dao/mapper/ClassStandardMapper.xml
  3. 120
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/SalesController.java
  4. 165
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/StoragevehicleinfoController.java
  5. 142
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/UnitController.java
  6. 60
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/cotroller/SalesController.java
  7. 59
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/SalesService.java
  8. 32
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dao/Sales.java
  9. 8
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dao/mapper/SalesMapper.java
  10. 25
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dto/SalesDto.java
  11. 18
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dto/SalesQuery.java
  12. 112
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/impl/SalesServiceImpl.java
  13. 148
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/SalesService.java
  14. 170
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/StoragevehicleinfoService.java
  15. 150
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/UnitService.java
  16. 52
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SalesDto.java
  17. 126
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java
  18. 82
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/UnitDto.java
  19. 262
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SalesServiceImpl.java
  20. 548
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java
  21. 322
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java
  22. 83
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/cotroller/StoragevehicleinfoController.java
  23. 71
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/StoragevehicleinfoService.java
  24. 38
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/Storagevehicleex.java
  25. 58
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/Storagevehicleinfo.java
  26. 17
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleexMapper.java
  27. 21
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleinfoMapper.java
  28. 77
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleinfoMapper.xml
  29. 67
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dto/StoragevehicleinfoDto.java
  30. 40
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dto/StoragevehicleinfoQuery.java
  31. 248
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/impl/StoragevehicleinfoServiceImpl.java
  32. 74
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/cotroller/UnitController.java
  33. 57
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/UnitService.java
  34. 48
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/Unit.java
  35. 13
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/mapper/UnitMapper.java
  36. 31
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/mapper/UnitMapper.xml
  37. 42
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dto/UnitDto.java
  38. 18
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dto/UnitQuery.java
  39. 151
      lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/impl/UnitServiceImpl.java
  40. 3
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/HandMoveStorService.java
  41. 4
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java
  42. 22
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java
  43. 97
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml
  44. 37
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/BoxIvt.java
  45. 211
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java
  46. 188
      lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql
  47. 14
      lms/nladmin-ui/src/views/wms/st/inStor/moveStor/AddDialog.vue
  48. 1
      lms/nladmin-ui/src/views/wms/st/inStor/moveStor/AddDtl.vue

3
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/dao/mapper/ClassStandardMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.basedata.master.classstandard.service.dao.ClassStandard;
import java.util.ArrayList;
import java.util.Set;
/**
* @Author: lyd
@ -11,4 +12,6 @@ import java.util.ArrayList;
*/
public interface ClassStandardMapper extends BaseMapper<ClassStandard> {
ArrayList<String> getAllChildrenIds(String classId);
Set<String> selectClassIds(String classId);
}

15
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/classstandard/service/dao/mapper/ClassStandardMapper.xml

@ -16,4 +16,19 @@
) t3
WHERE ischild != 0
</select>
<select id="selectClassIds" resultType="java.lang.String">
SELECT DISTINCT
class_id
FROM (
SELECT
t1.class_id,
IF(find_in_set(parent_class_id, @pids) > 0, @pids := concat(@pids, ',', class_id), 0) AS ischild
FROM (
SELECT class_id, parent_class_id FROM md_pb_classstandard t WHERE t.is_delete = '0' ORDER BY class_code
) t1,
(SELECT @pids := #{classId}) t2
) t3
WHERE ischild != 0
</select>
</mapper>

120
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/SalesController.java

@ -1,60 +1,60 @@
package org.nl.wms.basedata.master.rest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.service.SalesService;
import org.nl.wms.basedata.master.service.dto.SalesDto;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author loujf
* @date 2021-12-07
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/sales")
@Slf4j
public class SalesController {
private final SalesService salesService;
@GetMapping
@Log("查询业务员")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(salesService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("查询业务员")
public ResponseEntity<Object> create(@Validated @RequestBody SalesDto dto) {
salesService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("查询业务员")
public ResponseEntity<Object> update(@Validated @RequestBody SalesDto dto) {
salesService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("查询业务员")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
salesService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}
//package org.nl.wms.basedata.master.rest;
//
//
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.modules.logging.annotation.Log;
//import org.nl.wms.basedata.master.service.SalesService;
//import org.nl.wms.basedata.master.service.dto.SalesDto;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
///**
// * @author loujf
// * @date 2021-12-07
// **/
//@RestController
//@RequiredArgsConstructor
//
//@RequestMapping("/api/sales")
//@Slf4j
//public class SalesController {
// private final SalesService salesService;
//
// @GetMapping
// @Log("查询业务员")
//
// public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
// return new ResponseEntity<>(salesService.queryAll(whereJson, page), HttpStatus.OK);
// }
//
// @PostMapping
// @Log("查询业务员")
//
// public ResponseEntity<Object> create(@Validated @RequestBody SalesDto dto) {
// salesService.create(dto);
// return new ResponseEntity<>(HttpStatus.CREATED);
// }
//
// @PutMapping
// @Log("查询业务员")
//
// public ResponseEntity<Object> update(@Validated @RequestBody SalesDto dto) {
// salesService.update(dto);
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
//
// @Log("查询业务员")
//
// @DeleteMapping
// public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
// salesService.deleteAll(ids);
// return new ResponseEntity<>(HttpStatus.OK);
// }
//}

165
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/StoragevehicleinfoController.java

@ -1,82 +1,83 @@
package org.nl.wms.basedata.master.rest;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.service.StoragevehicleinfoService;
import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author ldjun
* @date 2021-12-09
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/storagevehicleinfo")
@Slf4j
public class StoragevehicleinfoController {
private final StoragevehicleinfoService storagevehicleinfoService;
@GetMapping
@Log("查询载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(storagevehicleinfoService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:add')")
public ResponseEntity<Object> create(@RequestBody Map map) {
return new ResponseEntity<>(storagevehicleinfoService.create(map), HttpStatus.CREATED);
}
@PutMapping
@Log("修改载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:edit')")
public ResponseEntity<Object> update(@RequestBody JSONObject map) {
storagevehicleinfoService.update(map);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
storagevehicleinfoService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PutMapping("/changeActive")
@Log("修改点位启用状态")
//@PreAuthorize("@el.check('store:edit')")
public ResponseEntity<Object> changeActive(@RequestBody JSONObject json) {
storagevehicleinfoService.changeActive(json);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@GetMapping("/getVehicle/{code}")
@Log("获取起始载具号")
//@PreAuthorize("@el.check('store:edit')")
public ResponseEntity<Object> getVehicle(@PathVariable String code) {
JSONObject json = storagevehicleinfoService.getVehicle(code);
return new ResponseEntity<>(json, HttpStatus.OK);
}
}
//package org.nl.wms.basedata.master.rest;
//
//
//import com.alibaba.fastjson.JSONObject;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.common.domain.query.PageQuery;
//import org.nl.modules.logging.annotation.Log;
//import org.nl.wms.basedata.master.service.StoragevehicleinfoService;
//import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
///**
// * @author ldjun
// * @date 2021-12-09
// **/
//@RestController
//@RequiredArgsConstructor
//
//@RequestMapping("/api/storagevehicleinfo")
//@Slf4j
//public class StoragevehicleinfoController {
//
// private final StoragevehicleinfoService storagevehicleinfoService;
//
// @GetMapping
// @Log("查询载具")
//
// //@PreAuthorize("@el.check('mdPbStoragevehicleinfo:list')")
// public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
// return new ResponseEntity<>(storagevehicleinfoService.queryAll(whereJson, page), HttpStatus.OK);
// }
//
// @PostMapping
// @Log("新增载具")
//
// //@PreAuthorize("@el.check('mdPbStoragevehicleinfo:add')")
// public ResponseEntity<Object> create(@RequestBody Map map) {
// return new ResponseEntity<>(storagevehicleinfoService.create(map), HttpStatus.CREATED);
// }
//
// @PutMapping
// @Log("修改载具")
//
// //@PreAuthorize("@el.check('mdPbStoragevehicleinfo:edit')")
// public ResponseEntity<Object> update(@RequestBody JSONObject map) {
// storagevehicleinfoService.update(map);
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
//
// @Log("删除载具")
//
// //@PreAuthorize("@el.check('mdPbStoragevehicleinfo:del')")
// @DeleteMapping
// public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
// storagevehicleinfoService.deleteAll(ids);
// return new ResponseEntity<>(HttpStatus.OK);
// }
//
// @PutMapping("/changeActive")
// @Log("修改点位启用状态")
//
// //@PreAuthorize("@el.check('store:edit')")
// public ResponseEntity<Object> changeActive(@RequestBody JSONObject json) {
// storagevehicleinfoService.changeActive(json);
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
//
// @GetMapping("/getVehicle/{code}")
// @Log("获取起始载具号")
//
// //@PreAuthorize("@el.check('store:edit')")
// public ResponseEntity<Object> getVehicle(@PathVariable String code) {
// JSONObject json = storagevehicleinfoService.getVehicle(code);
// return new ResponseEntity<>(json, HttpStatus.OK);
// }
//}

142
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/UnitController.java

@ -1,71 +1,71 @@
package org.nl.wms.basedata.master.rest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.service.UnitService;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author loujf
* @date 2021-12-07
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/mdPbMeasureunit")
@Slf4j
public class UnitController {
private final UnitService unitService;
@GetMapping
@Log("查询计量单位")
//@PreAuthorize("@el.check('Unit:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(unitService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增计量单位")
//@PreAuthorize("@el.check('Unit:add')")
public ResponseEntity<Object> create(@Validated @RequestBody UnitDto dto) {
unitService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改计量单位")
//@PreAuthorize("@el.check('Unit:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody UnitDto dto) {
unitService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除计量单位")
//@PreAuthorize("@el.check('Unit:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
unitService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getUnit")
@Log("查询单位下拉框")
//@PreAuthorize("@el.check('materialtype:list')")
public ResponseEntity<Object> queryUnit(@RequestParam Map whereJson) {
return new ResponseEntity<>(unitService.getUnit(whereJson), HttpStatus.OK);
}
}
//package org.nl.wms.basedata.master.rest;
//
//
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.modules.logging.annotation.Log;
//import org.nl.wms.basedata.master.service.UnitService;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
///**
// * @author loujf
// * @date 2021-12-07
// **/
//@RestController
//@RequiredArgsConstructor
//
//@RequestMapping("/api/mdPbMeasureunit")
//@Slf4j
//public class UnitController {
// private final UnitService unitService;
//
// @GetMapping
// @Log("查询计量单位")
//
// //@PreAuthorize("@el.check('Unit:list')")
// public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
// return new ResponseEntity<>(unitService.queryAll(whereJson, page), HttpStatus.OK);
// }
//
// @PostMapping
// @Log("新增计量单位")
//
// //@PreAuthorize("@el.check('Unit:add')")
// public ResponseEntity<Object> create(@Validated @RequestBody UnitDto dto) {
// unitService.create(dto);
// return new ResponseEntity<>(HttpStatus.CREATED);
// }
//
// @PutMapping
// @Log("修改计量单位")
//
// //@PreAuthorize("@el.check('Unit:edit')")
// public ResponseEntity<Object> update(@Validated @RequestBody UnitDto dto) {
// unitService.update(dto);
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
//
// @Log("删除计量单位")
//
// //@PreAuthorize("@el.check('Unit:del')")
// @DeleteMapping
// public ResponseEntity<Object> delete(@RequestBody String[] ids) {
// unitService.deleteAll(ids);
// return new ResponseEntity<>(HttpStatus.OK);
// }
//
// @GetMapping("/getUnit")
// @Log("查询单位下拉框")
//
// //@PreAuthorize("@el.check('materialtype:list')")
// public ResponseEntity<Object> queryUnit(@RequestParam Map whereJson) {
// return new ResponseEntity<>(unitService.getUnit(whereJson), HttpStatus.OK);
// }
//}

60
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/cotroller/SalesController.java

@ -0,0 +1,60 @@
package org.nl.wms.basedata.master.sales.cotroller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.sales.service.SalesService;
import org.nl.wms.basedata.master.sales.service.dto.SalesDto;
import org.nl.wms.basedata.master.sales.service.dto.SalesQuery;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author loujf
* @date 2021-12-07
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/sales")
@Slf4j
public class SalesController {
private final SalesService salesService;
@GetMapping
@Log("查询业务员")
public ResponseEntity<Object> query(@RequestParam SalesQuery whereJson, PageQuery page) {
return new ResponseEntity<>(salesService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("创建业务员")
public ResponseEntity<Object> create(@Validated @RequestBody SalesDto dto) {
salesService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("更新业务员")
public ResponseEntity<Object> update(@Validated @RequestBody SalesDto dto) {
salesService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除业务员")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
salesService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}

59
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/SalesService.java

@ -0,0 +1,59 @@
package org.nl.wms.basedata.master.sales.service;//package org.nl.wms.basedata.master.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata.master.sales.service.dao.Sales;
import org.nl.wms.basedata.master.sales.service.dto.SalesDto;
import org.nl.wms.basedata.master.sales.service.dto.SalesQuery;
import org.nl.wms.basedata.master.unit.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务接口
* @date 2021-12-07
**/
public interface SalesService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
IPage<Sales> queryAll(SalesQuery whereJson, PageQuery page);
/**
* 创建
*
* @param dto /
*/
void create(SalesDto dto);
/**
* 编辑
*
* @param dto /
*/
void update(SalesDto dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(Long[] ids);
}

32
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dao/Sales.java

@ -0,0 +1,32 @@
package org.nl.wms.basedata.master.sales.service.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_cs_areasalesinfo")
public class Sales implements Serializable {
@TableId(value = "sales_id", type = IdType.NONE)
private Long sales_id;
private String sales_code;
private String sales_name;
private String area;
private String is_active;
}

8
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dao/mapper/SalesMapper.java

@ -0,0 +1,8 @@
package org.nl.wms.basedata.master.sales.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.basedata.master.sales.service.dao.Sales;
public interface SalesMapper extends BaseMapper<Sales> {
}

25
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dto/SalesDto.java

@ -0,0 +1,25 @@
package org.nl.wms.basedata.master.sales.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class SalesDto implements Serializable {
private Long sales_id;
private String sales_code;
private String sales_name;
private String area;
private String is_active;
}

18
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/dto/SalesQuery.java

@ -0,0 +1,18 @@
package org.nl.wms.basedata.master.sales.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class SalesQuery implements Serializable {
private String search;
}

112
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sales/service/impl/SalesServiceImpl.java

@ -0,0 +1,112 @@
package org.nl.wms.basedata.master.sales.service.impl;
import cn.dev33.satoken.json.SaJsonTemplate;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.basedata.master.devicestatus.service.dao.DeviceStatus;
import org.nl.wms.basedata.master.sales.service.SalesService;
import org.nl.wms.basedata.master.sales.service.dao.Sales;
import org.nl.wms.basedata.master.sales.service.dao.mapper.SalesMapper;
import org.nl.wms.basedata.master.sales.service.dto.SalesDto;
import org.nl.wms.basedata.master.sales.service.dto.SalesQuery;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务实现
* @date 2021-12-07
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class SalesServiceImpl implements SalesService {
private final SaJsonTemplate getSaJsonTemplateForJackson;
@Autowired
private SalesMapper salesMapper;
@Override
public IPage<Sales> queryAll(SalesQuery whereJson, PageQuery page) {
IPage<Sales> pages = new Page<>(page.getPage() + 1, page.getSize());
LambdaQueryWrapper<Sales> lam = new LambdaQueryWrapper<Sales>();
lam.and(ObjectUtil.isNotEmpty(whereJson.getSearch()), blam -> blam.like(Sales::getSales_code, whereJson.getSearch()).or()
.like(Sales::getSales_name, whereJson.getSearch()))
.orderByDesc(Sales::getSales_code);
salesMapper.selectPage(pages, lam);
return pages;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(SalesDto dto) {
LambdaQueryWrapper<Sales> lam = new LambdaQueryWrapper<Sales>();
lam.eq(Sales::getSales_id, dto.getSales_code());
Sales salesByCode = salesMapper.selectOne(lam);
if (salesByCode != null) {
if (salesByCode.getArea().equals(dto.getArea())) {
throw new BadRequestException("存在相同区域的业务员!");
}
}
Sales sales = new Sales();
BeanUtils.copyProperties(dto, sales);
salesMapper.insert(sales);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SalesDto dto) {
LambdaQueryWrapper<Sales> lam = new LambdaQueryWrapper<Sales>();
lam.eq(Sales::getSales_id, dto.getSales_id());
Sales salesById = salesMapper.selectOne(lam);
if (salesById == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
LambdaQueryWrapper<Sales> lamCode = new LambdaQueryWrapper<Sales>();
lamCode.eq(Sales::getSales_id, dto.getSales_code());
Sales salesByCode = salesMapper.selectOne(lamCode);
if (salesByCode != null && !salesByCode.getSales_id().equals(dto.getSales_id())) {
throw new BadRequestException("存在相同的编码");
}
Sales sales = new Sales();
BeanUtils.copyProperties(dto, sales);
salesMapper.updateById(sales);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(Long[] ids) {
if (ids != null) {
List<Long> list = Arrays.asList(ids);
salesMapper.deleteBatchIds(list);
}
}
}

148
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/SalesService.java

@ -1,74 +1,74 @@
package org.nl.wms.basedata.master.service;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.basedata.master.service.dto.SalesDto;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务接口
* @date 2021-12-07
**/
public interface SalesService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
*
* @param whereJson 条件参数
* @return List<UnitDto>
*/
List<UnitDto> queryAll(Map whereJson);
/**
* 根据ID查询
*
* @param measure_unit_id ID
* @return Unit
*/
SalesDto findById(Long measure_unit_id);
/**
* 根据编码查询
*
* @param code code
* @return Unit
*/
SalesDto findByCode(String code);
/**
* 创建
*
* @param dto /
*/
void create(SalesDto dto);
/**
* 编辑
*
* @param dto /
*/
void update(SalesDto dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(Long[] ids);
}
//package org.nl.wms.basedata.master.service;
//
//import com.alibaba.fastjson.JSONObject;
//import org.nl.wms.basedata.master.service.dto.SalesDto;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.springframework.data.domain.Pageable;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @author loujf
// * @description 服务接口
// * @date 2021-12-07
// **/
//public interface SalesService {
//
// /**
// * 查询数据分页
// *
// * @param whereJson 条件
// * @param page 分页参数
// * @return Map<String, Object>
// */
// Map<String, Object> queryAll(Map whereJson, Pageable page);
//
// /**
// * 查询所有数据不分页
// *
// * @param whereJson 条件参数
// * @return List<UnitDto>
// */
// List<UnitDto> queryAll(Map whereJson);
//
// /**
// * 根据ID查询
// *
// * @param measure_unit_id ID
// * @return Unit
// */
// SalesDto findById(Long measure_unit_id);
//
// /**
// * 根据编码查询
// *
// * @param code code
// * @return Unit
// */
// SalesDto findByCode(String code);
//
//
// /**
// * 创建
// *
// * @param dto /
// */
// void create(SalesDto dto);
//
// /**
// * 编辑
// *
// * @param dto /
// */
// void update(SalesDto dto);
//
// /**
// * 多选删除
// *
// * @param ids /
// */
// void deleteAll(Long[] ids);
//
//
//}

170
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/StoragevehicleinfoService.java

@ -1,86 +1,84 @@
package org.nl.wms.basedata.master.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author ldjun
* @description 服务接口
* @date 2021-12-09
**/
public interface StoragevehicleinfoService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
*
* @param whereJson 条件参数
* @return List<StoragevehicleinfoDto>
*/
List<StoragevehicleinfoDto> queryAll(Map whereJson);
/**
* 根据ID查询
*
* @param storagevehicle_id ID
* @return MdPbStoragevehicleinfo
*/
StoragevehicleinfoDto findById(Long storagevehicle_id);
/**
* 根据编码查询
*
* @param code code
* @return MdPbStoragevehicleinfo
*/
StoragevehicleinfoDto findByCode(String code);
/**
* 创建
*
* @param map /
*/
JSONArray create(Map map);
/**
* 编辑
*
* @param dto /
*/
void update(JSONObject dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 多修改启用状态
*
* @param json /
*/
void changeActive(JSONObject json);
/**
* 获取起始载具号
*
* @param code /
*/
JSONObject getVehicle(String code);
}
//package org.nl.wms.basedata.master.service;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import org.nl.common.domain.query.PageQuery;
//import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
//import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo;
//import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
//import org.springframework.data.domain.Pageable;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @author ldjun
// * @description 服务接口
// * @date 2021-12-09
// **/
//public interface StoragevehicleinfoService {
//
// /**
// * 查询数据分页
// *
// * @param whereJson 条件
// * @param page 分页参数
// * @return Map<String, Object>
// */
// Map<String, Object> queryAll(Map whereJson, Pageable page);
//
//
//
// /**
// * 根据ID查询
// *
// * @param storagevehicle_id ID
// * @return MdPbStoragevehicleinfo
// */
// StoragevehicleinfoDto findById(Long storagevehicle_id);
//
// /**
// * 根据编码查询
// *
// * @param code code
// * @return MdPbStoragevehicleinfo
// */
// StoragevehicleinfoDto findByCode(String code);
//
//
// /**
// * 创建
// *
// * @param map /
// */
// JSONArray create(Map map);
//
// /**
// * 编辑
// *
// * @param dto /
// */
// void update(JSONObject dto);
//
// /**
// * 多选删除
// *
// * @param ids /
// */
// void deleteAll(Long[] ids);
//
// /**
// * 多修改启用状态
// *
// * @param json /
// */
// void changeActive(JSONObject json);
//
// /**
// * 获取起始载具号
// *
// * @param code /
// */
// JSONObject getVehicle(String code);
//}

150
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/UnitService.java

@ -1,74 +1,76 @@
package org.nl.wms.basedata.master.service;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务接口
* @date 2021-12-07
**/
public interface UnitService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
*
* @param whereJson 条件参数
* @return List<UnitDto>
*/
List<UnitDto> queryAll(Map whereJson);
/**
* 根据ID查询
*
* @param measure_unit_id ID
* @return Unit
*/
UnitDto findById(Long measure_unit_id);
/**
* 根据编码查询
*
* @param code code
* @return Unit
*/
UnitDto findByCode(String code);
/**
* 创建
*
* @param dto /
*/
void create(UnitDto dto);
/**
* 编辑
*
* @param dto /
*/
void update(UnitDto dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(String[] ids);
JSONObject getUnit(Map whereJson);
}
//package org.nl.wms.basedata.master.service;
//
//import com.alibaba.fastjson.JSONObject;
//import org.nl.common.domain.query.PageQuery;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.nl.wms.basedata.master.unit.service.dto.UnitQuery;
//import org.springframework.data.domain.Pageable;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @author loujf
// * @description 服务接口
// * @date 2021-12-07
// **/
//public interface UnitService {
//
// /**
// * 查询数据分页
// *
// * @param whereJson 条件
// * @param page 分页参数
// * @return Map<String, Object>
// */
// Map<String, Object> queryAll(Map whereJson, Pageable page);
//
// /**
// * 查询所有数据不分页
// *
// * @param whereJson 条件参数
// * @return List<UnitDto>
// */
// List<UnitDto> queryAll(Map whereJson);
//
// /**
// * 根据ID查询
// *
// * @param measure_unit_id ID
// * @return Unit
// */
// UnitDto findById(Long measure_unit_id);
//
// /**
// * 根据编码查询
// *
// * @param code code
// * @return Unit
// */
// UnitDto findByCode(String code);
//
//
// /**
// * 创建
// *
// * @param dto /
// */
// void create(UnitDto dto);
//
// /**
// * 编辑
// *
// * @param dto /
// */
// void update(UnitDto dto);
//
// /**
// * 多选删除
// *
// * @param ids /
// */
// void deleteAll(String[] ids);
//
// JSONObject getUnit(Map whereJson);
//
//}

52
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SalesDto.java

@ -1,26 +1,26 @@
package org.nl.wms.basedata.master.service.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class SalesDto implements Serializable {
private Long sales_id;
private String sales_code;
private String sales_name;
private String area;
private String is_active;
}
//package org.nl.wms.basedata.master.service.dto;
//
//import lombok.Data;
//
//import java.io.Serializable;
//import java.math.BigDecimal;
//
///**
// * @author loujf
// * @description /
// * @date 2021-12-07
// **/
//@Data
//public class SalesDto implements Serializable {
//
// private Long sales_id;
//
// private String sales_code;
//
// private String sales_name;
//
// private String area;
//
// private String is_active;
//
//}

126
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java

@ -1,63 +1,63 @@
package org.nl.wms.basedata.master.service.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author ldjun
* @description /
* @date 2021-12-09
**/
@Data
public class StoragevehicleinfoDto implements Serializable {
/**
* 防止精度丢失
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long storagevehicle_id;
private String storagevehicle_code;
private String storagevehicle_name;
private String one_code;
private String two_code;
private String rfid_code;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String is_used;
private String storagevehicle_type;
private BigDecimal vehicle_width;
private BigDecimal vehicle_long;
private BigDecimal vehicle_height;
private String overstruct_type;
private BigDecimal occupystruct_qty;
private String ext_id;
}
//package org.nl.wms.basedata.master.service.dto;
//
//import com.fasterxml.jackson.databind.annotation.JsonSerialize;
//import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
//import lombok.Data;
//
//import java.io.Serializable;
//import java.math.BigDecimal;
//
///**
// * @author ldjun
// * @description /
// * @date 2021-12-09
// **/
//@Data
//public class StoragevehicleinfoDto implements Serializable {
//
// /**
// * 防止精度丢失
// */
// @JsonSerialize(using = ToStringSerializer.class)
// private Long storagevehicle_id;
//
// private String storagevehicle_code;
//
// private String storagevehicle_name;
//
// private String one_code;
//
// private String two_code;
//
// private String rfid_code;
//
// private String create_id;
//
// private String create_name;
//
// private String create_time;
//
// private String update_optid;
//
// private String update_optname;
//
// private String update_time;
//
// private String is_delete;
//
// private String is_used;
//
// private String storagevehicle_type;
//
// private BigDecimal vehicle_width;
//
// private BigDecimal vehicle_long;
//
// private BigDecimal vehicle_height;
//
// private String overstruct_type;
//
// private BigDecimal occupystruct_qty;
//
// private String ext_id;
//}

82
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/UnitDto.java

@ -1,41 +1,41 @@
package org.nl.wms.basedata.master.service.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class UnitDto implements Serializable {
private Long measure_unit_id;
private String unit_code;
private String unit_name;
private BigDecimal qty_precision;
private String is_used;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String ext_id;
}
//package org.nl.wms.basedata.master.service.dto;
//
//import lombok.Data;
//
//import java.io.Serializable;
//import java.math.BigDecimal;
//
///**
// * @author loujf
// * @description /
// * @date 2021-12-07
// **/
//@Data
//public class UnitDto implements Serializable {
//
// private Long measure_unit_id;
//
// private String unit_code;
//
// private String unit_name;
//
// private BigDecimal qty_precision;
//
// private String is_used;
//
// private String create_id;
//
// private String create_name;
//
// private String create_time;
//
// private String update_optid;
//
// private String update_optname;
//
// private String update_time;
//
// private String is_delete;
//
// private String ext_id;
//}

262
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SalesServiceImpl.java

@ -1,131 +1,131 @@
package org.nl.wms.basedata.master.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.ResultBean;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.basedata.master.service.SalesService;
import org.nl.wms.basedata.master.service.dto.SalesDto;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务实现
* @date 2021-12-07
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class SalesServiceImpl implements SalesService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String where = "";
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
String search = (String) whereJson.get("search");
if (!StrUtil.isEmpty(search)) {
where = " AND (sales_code like '%" + search + "%' OR sales_name like '%" + search + "%' ) ";
}
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1 " + where, "sales_code");
final JSONObject json = rb.pageResult();
return json;
}
@Override
public List<UnitDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONArray arr = wo.query().getResultJSONArray(0);
List<UnitDto> list = arr.toJavaList(UnitDto.class);
return list;
}
@Override
public SalesDto findById(Long sales_id) {
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
JSONObject json = wo.query("sales_id =" + sales_id + "").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) {
return null;
}
final SalesDto obj = json.toJavaObject(SalesDto.class);
return obj;
}
@Override
public SalesDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
JSONObject json = wo.query("sales_code ='" + code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) {
return null;
}
final SalesDto obj = json.toJavaObject(SalesDto.class);
return obj;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(SalesDto dto) {
String sales_code = dto.getSales_code();
SalesDto unitDto = this.findByCode(sales_code);
if (unitDto != null) {
if (unitDto.getArea().equals(dto.getArea())) {
throw new BadRequestException("存在相同区域的业务员!");
}
}
dto.setSales_id(IdUtil.getSnowflake(1, 1).nextId());
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.insert(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SalesDto dto) {
SalesDto entity = this.findById(dto.getSales_id());
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String sales_code = dto.getSales_code();
SalesDto unitDto = this.findByCode(sales_code);
if (unitDto != null && !unitDto.getSales_id().equals(dto.getSales_id())) {
throw new BadRequestException("存在相同的编码");
}
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.update(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(Long[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
for (Long sales_id : ids) {
wo.delete("sales_id = '" + sales_id + "'");
}
}
}
//package org.nl.wms.basedata.master.service.impl;
//
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.IdUtil;
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.core.util.StrUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.common.utils.SecurityUtils;
//import org.nl.modules.common.exception.BadRequestException;
//import org.nl.modules.wql.core.bean.ResultBean;
//import org.nl.modules.wql.core.bean.WQLObject;
//import org.nl.modules.wql.util.WqlUtil;
//import org.nl.wms.basedata.master.service.SalesService;
//import org.nl.wms.basedata.master.service.dto.SalesDto;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @author loujf
// * @description 服务实现
// * @date 2021-12-07
// **/
//@Service
//@RequiredArgsConstructor
//@Slf4j
//public class SalesServiceImpl implements SalesService {
//
// @Override
// public Map<String, Object> queryAll(Map whereJson, Pageable page) {
// String where = "";
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// String search = (String) whereJson.get("search");
// if (!StrUtil.isEmpty(search)) {
// where = " AND (sales_code like '%" + search + "%' OR sales_name like '%" + search + "%' ) ";
// }
// ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1 " + where, "sales_code");
// final JSONObject json = rb.pageResult();
// return json;
// }
//
// @Override
// public List<UnitDto> queryAll(Map whereJson) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONArray arr = wo.query().getResultJSONArray(0);
// List<UnitDto> list = arr.toJavaList(UnitDto.class);
// return list;
// }
//
// @Override
// public SalesDto findById(Long sales_id) {
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// JSONObject json = wo.query("sales_id =" + sales_id + "").uniqueResult(0);
// if (ObjectUtil.isEmpty(json)) {
// return null;
// }
// final SalesDto obj = json.toJavaObject(SalesDto.class);
// return obj;
// }
//
// @Override
// public SalesDto findByCode(String code) {
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// JSONObject json = wo.query("sales_code ='" + code + "'").uniqueResult(0);
// if (ObjectUtil.isEmpty(json)) {
// return null;
// }
// final SalesDto obj = json.toJavaObject(SalesDto.class);
// return obj;
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void create(SalesDto dto) {
// String sales_code = dto.getSales_code();
// SalesDto unitDto = this.findByCode(sales_code);
// if (unitDto != null) {
// if (unitDto.getArea().equals(dto.getArea())) {
// throw new BadRequestException("存在相同区域的业务员!");
// }
// }
//
// dto.setSales_id(IdUtil.getSnowflake(1, 1).nextId());
//
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.insert(json);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void update(SalesDto dto) {
// SalesDto entity = this.findById(dto.getSales_id());
// if (entity == null) {
// throw new BadRequestException("被删除或无权限,操作失败!");
// }
//
// String sales_code = dto.getSales_code();
// SalesDto unitDto = this.findByCode(sales_code);
// if (unitDto != null && !unitDto.getSales_id().equals(dto.getSales_id())) {
// throw new BadRequestException("存在相同的编码");
// }
//
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.update(json);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void deleteAll(Long[] ids) {
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// WQLObject wo = WQLObject.getWQLObject("md_cs_areasalesinfo");
// for (Long sales_id : ids) {
// wo.delete("sales_id = '" + sales_id + "'");
// }
// }
//
//}

548
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java

@ -1,277 +1,271 @@
package org.nl.wms.basedata.master.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil;
import org.nl.system.service.coderule.impl.SysCodeRuleServiceImpl;
import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.basedata.master.service.StoragevehicleinfoService;
import org.nl.wms.basedata.master.service.dto.ClassstandardDto;
import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author ldjun
* @description 服务实现
* @date 2021-12-09
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService {
private final ClassstandardService classstandardService;
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
HashMap<String, Object> map = new HashMap();
String storagevehicle_code_begin = (String) whereJson.get("storagevehicle_code_begin");
String storagevehicle_code_end = (String) whereJson.get("storagevehicle_code_end");
if (StrUtil.isNotEmpty((String) whereJson.get("storagevehicle_type"))) {
ClassstandardDto dto = classstandardService.findById((String) whereJson.get("storagevehicle_type"));
String storagevehicle_type = classstandardService.getChildIdStr(dto.getClass_id().toString());
map.put("storagevehicle_type", storagevehicle_type);
}
map.put("storagevehicle_code_begin", storagevehicle_code_begin);
map.put("storagevehicle_code_end", storagevehicle_code_end);
map.put("flag", "1");
JSONObject json = WQL.getWO("QMD_PB_STORAGEVEHICLEINFO").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "s.storagevehicle_code ASC");
/*JSONArray content = json.getJSONArray("content");
for (int i = 0; i < content.size(); i++) {
JSONObject jsonObject = content.getJSONObject(i);
JSONObject jsonTask = taskService.query("vehicle_code = '" + jsonObject.getString("storagevehicle_code") + "' and task_status <> '99' and is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonTask)) {
jsonObject.put("start_point_code", jsonTask.getString("start_point_code"));
jsonObject.put("next_point_code", jsonTask.getString("next_point_code"));
jsonObject.put("is_task", "1");
jsonObject.put("point_code", "");
} else {
jsonObject.put("is_task", "0");
}
}*/
return json;
}
@Override
public List<StoragevehicleinfoDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
JSONArray arr = wo.query().getResultJSONArray(0);
List<StoragevehicleinfoDto> list = arr.toJavaList(StoragevehicleinfoDto.class);
return list;
}
@Override
public StoragevehicleinfoDto findById(Long storagevehicle_id) {
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
JSONObject json = wo.query("storagevehicle_id =" + storagevehicle_id + "").uniqueResult(0);
final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class);
return obj;
}
@Override
public StoragevehicleinfoDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
JSONObject json = wo.query("storagevehicle_code ='" + code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) {
throw new BadRequestException("请输入正确的载具号!");
}
final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class);
return obj;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONArray create(Map map) {
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
JSONObject jsonObject = wo.query("storagevehicle_code = '" + map.get("storagevehicle_code") + "' and is_delete = '0'").uniqueResult(0);
if (!ObjectUtil.isEmpty(jsonObject)) {
throw new BadRequestException("此载具已存在");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
String storagevehicle_type = ((String) map.get("storagevehicle_type"));
JSONObject class_jo = WQLObject.getWQLObject("md_pb_classstandard").query("class_id = '" + storagevehicle_type + "'").uniqueResult(0);
String class_code = class_jo.getString("class_code").substring(0, 4);
;
String code = "";
switch (class_code) {
case "0001":
//气涨轴编码
code = "VEHICCLE_CODE_QZZ";
break;
case "0002":
code = "VEHICLE_CODE_GXTP";
break;
case "0003":
if (class_jo.getString("class_code").equals("000301")){
code = "VEHICLE_CODE_LK";
}
if (class_jo.getString("class_code").equals("000302")){
code = "VEHICLE_CODE_LKB";
}
break;
default:
break;
}
if (StrUtil.isEmpty(code)) {
throw new BadRequestException("请选择正确的载具类型!");
}
JSONArray resultCodeArr = new JSONArray();
int num = MapUtil.getInt(map, "num");
for (int i = 0; i < num; i++) {
StoragevehicleinfoDto dto = new StoragevehicleinfoDto();
dto.setStoragevehicle_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setStoragevehicle_code(CodeUtil.getNewCode(code));
dto.setCreate_id(currentUserId);
dto.setStoragevehicle_name(dto.getStoragevehicle_code());
dto.setCreate_name(nickName);
dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName);
dto.setUpdate_time(now);
dto.setCreate_time(now);
dto.setStoragevehicle_type(class_jo.getString("class_code"));
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.insert(json);
resultCodeArr.add(dto.getStoragevehicle_code());
}
return resultCodeArr;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(JSONObject dto) {
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getString("storagevehicle_code") + "' and is_delete = '0' AND storagevehicle_id != '" + dto.getString("storagevehicle_id") + "'").uniqueResult(0);
if (!ObjectUtil.isEmpty(jsonObject)) {
throw new BadRequestException("此载具已存在");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String qty = dto.getString("qty");
String pcsn = dto.getString("pcsn");
if (StrUtil.isNotEmpty(qty) || StrUtil.isNotEmpty(pcsn)) {
JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+dto.getString("storagevehicle_code")+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(ext_jo)) {
//新增一条记录
JSONObject jsonVeExt = new JSONObject();
jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId());
jsonVeExt.put("storagevehicle_id", dto.getLongValue("storagevehicle_id"));
jsonVeExt.put("storagevehicle_code", dto.getString("storagevehicle_code"));
jsonVeExt.put("storagevehicle_type", dto.getString("storagevehicle_type"));
if (StrUtil.isNotEmpty(pcsn)) {
jsonVeExt.put("pcsn", pcsn);
}
if (StrUtil.isNotEmpty(qty)) {
jsonVeExt.put("qty", qty);
}
jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId());
jsonVeExt.put("update_time", DateUtil.now());
veExtTab.insert(jsonVeExt);
} else {
if (StrUtil.isNotEmpty(pcsn)) {
ext_jo.put("pcsn", pcsn);
}
if (StrUtil.isNotEmpty(qty)) {
ext_jo.put("qty", qty);
}
veExtTab.update(ext_jo);
}
}
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.update(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(Long[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
for (Long storagevehicle_id : ids) {
JSONObject param = new JSONObject();
param.put("storagevehicle_id", String.valueOf(storagevehicle_id));
param.put("is_delete", "1");
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
wo.update(param);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void changeActive(JSONObject json) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
String is_used = "1";
if (StrUtil.equals("1", json.getString("is_used"))) {
is_used = "0";
}
json.put("is_used", is_used);
json.put("update_optid", currentUserId);
json.put("update_optname", nickName);
json.put("update_time", now);
WQLObject.getWQLObject("md_pb_storagevehicleinfo").update(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject getVehicle(String code) {
String term = "";
switch (code) {
case "00":
term = "VEHICCLE_CODE_MTP";
break;
case "01":
term = "VEHICCLE_CODE_TTP";
break;
default:
break;
}
HashMap<String, String> map = new HashMap<>();
map.put("code", term);
map.put("flag", "0");
SysCodeRuleServiceImpl genCodeService = new SysCodeRuleServiceImpl();
String value = genCodeService.codeDemo(map);
JSONObject json = new JSONObject();
json.put("value", value);
return json;
}
}
//package org.nl.wms.basedata.master.service.impl;
//
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.map.MapUtil;
//import cn.hutool.core.util.IdUtil;
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.core.util.StrUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.common.utils.SecurityUtils;
//import org.nl.modules.common.exception.BadRequestException;
//import org.nl.common.utils.CodeUtil;
//import org.nl.modules.wql.WQL;
//import org.nl.modules.wql.core.bean.WQLObject;
//import org.nl.modules.wql.util.WqlUtil;
//import org.nl.system.service.coderule.impl.SysCodeRuleServiceImpl;
//import org.nl.wms.basedata.master.service.ClassstandardService;
//import org.nl.wms.basedata.master.service.StoragevehicleinfoService;
//import org.nl.wms.basedata.master.service.dto.ClassstandardDto;
//import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @author ldjun
// * @description 服务实现
// * @date 2021-12-09
// **/
//@Service
//@RequiredArgsConstructor
//@Slf4j
//public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService {
//
// private final ClassstandardService classstandardService;
//
// @Override
// public Map<String, Object> queryAll(Map whereJson, Pageable page) {
// WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
// HashMap<String, Object> map = new HashMap();
//
// String storagevehicle_code_begin = (String) whereJson.get("storagevehicle_code_begin");
// String storagevehicle_code_end = (String) whereJson.get("storagevehicle_code_end");
//
// if (StrUtil.isNotEmpty((String) whereJson.get("storagevehicle_type"))) {
// ClassstandardDto dto = classstandardService.findById((String) whereJson.get("storagevehicle_type"));
// String storagevehicle_type = classstandardService.getChildIdStr(dto.getClass_id().toString());
// map.put("storagevehicle_type", storagevehicle_type);
//
// }
// map.put("storagevehicle_code_begin", storagevehicle_code_begin);
// map.put("storagevehicle_code_end", storagevehicle_code_end);
// map.put("flag", "1");
// JSONObject json = WQL.getWO("QMD_PB_STORAGEVEHICLEINFO").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "s.storagevehicle_code ASC");
// /*JSONArray content = json.getJSONArray("content");
// for (int i = 0; i < content.size(); i++) {
// JSONObject jsonObject = content.getJSONObject(i);
// JSONObject jsonTask = taskService.query("vehicle_code = '" + jsonObject.getString("storagevehicle_code") + "' and task_status <> '99' and is_delete = '0'").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(jsonTask)) {
// jsonObject.put("start_point_code", jsonTask.getString("start_point_code"));
// jsonObject.put("next_point_code", jsonTask.getString("next_point_code"));
// jsonObject.put("is_task", "1");
// jsonObject.put("point_code", "");
// } else {
// jsonObject.put("is_task", "0");
// }
// }*/
// return json;
// }
//
//
//
// @Override
// public StoragevehicleinfoDto findById(Long storagevehicle_id) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// JSONObject json = wo.query("storagevehicle_id =" + storagevehicle_id + "").uniqueResult(0);
// final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class);
// return obj;
// }
//
// @Override
// public StoragevehicleinfoDto findByCode(String code) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// JSONObject json = wo.query("storagevehicle_code ='" + code + "'").uniqueResult(0);
// if (ObjectUtil.isEmpty(json)) {
// throw new BadRequestException("请输入正确的载具号!");
// }
// final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class);
// return obj;
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public JSONArray create(Map map) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// JSONObject jsonObject = wo.query("storagevehicle_code = '" + map.get("storagevehicle_code") + "' and is_delete = '0'").uniqueResult(0);
// if (!ObjectUtil.isEmpty(jsonObject)) {
// throw new BadRequestException("此载具已存在");
// }
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// String storagevehicle_type = ((String) map.get("storagevehicle_type"));
// JSONObject class_jo = WQLObject.getWQLObject("md_pb_classstandard").query("class_id = '" + storagevehicle_type + "'").uniqueResult(0);
// String class_code = class_jo.getString("class_code").substring(0, 4);
// ;
// String code = "";
// switch (class_code) {
// case "0001":
// //气涨轴编码
// code = "VEHICCLE_CODE_QZZ";
// break;
// case "0002":
// code = "VEHICLE_CODE_GXTP";
// break;
// case "0003":
// if (class_jo.getString("class_code").equals("000301")){
// code = "VEHICLE_CODE_LK";
// }
// if (class_jo.getString("class_code").equals("000302")){
// code = "VEHICLE_CODE_LKB";
// }
// break;
// default:
// break;
// }
// if (StrUtil.isEmpty(code)) {
// throw new BadRequestException("请选择正确的载具类型!");
// }
// JSONArray resultCodeArr = new JSONArray();
// int num = MapUtil.getInt(map, "num");
// for (int i = 0; i < num; i++) {
// StoragevehicleinfoDto dto = new StoragevehicleinfoDto();
// dto.setStoragevehicle_id(IdUtil.getSnowflake(1, 1).nextId());
// dto.setStoragevehicle_code(CodeUtil.getNewCode(code));
// dto.setCreate_id(currentUserId);
// dto.setStoragevehicle_name(dto.getStoragevehicle_code());
// dto.setCreate_name(nickName);
// dto.setUpdate_optid(currentUserId);
// dto.setUpdate_optname(nickName);
// dto.setUpdate_time(now);
// dto.setCreate_time(now);
// dto.setStoragevehicle_type(class_jo.getString("class_code"));
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.insert(json);
// resultCodeArr.add(dto.getStoragevehicle_code());
// }
// return resultCodeArr;
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void update(JSONObject dto) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getString("storagevehicle_code") + "' and is_delete = '0' AND storagevehicle_id != '" + dto.getString("storagevehicle_id") + "'").uniqueResult(0);
// if (!ObjectUtil.isEmpty(jsonObject)) {
// throw new BadRequestException("此载具已存在");
// }
//
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
//
// String qty = dto.getString("qty");
// String pcsn = dto.getString("pcsn");
// if (StrUtil.isNotEmpty(qty) || StrUtil.isNotEmpty(pcsn)) {
// JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+dto.getString("storagevehicle_code")+"'").uniqueResult(0);
// if (ObjectUtil.isEmpty(ext_jo)) {
// //新增一条记录
// JSONObject jsonVeExt = new JSONObject();
// jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId());
// jsonVeExt.put("storagevehicle_id", dto.getLongValue("storagevehicle_id"));
// jsonVeExt.put("storagevehicle_code", dto.getString("storagevehicle_code"));
// jsonVeExt.put("storagevehicle_type", dto.getString("storagevehicle_type"));
// if (StrUtil.isNotEmpty(pcsn)) {
// jsonVeExt.put("pcsn", pcsn);
// }
// if (StrUtil.isNotEmpty(qty)) {
// jsonVeExt.put("qty", qty);
// }
// jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId());
// jsonVeExt.put("update_time", DateUtil.now());
// veExtTab.insert(jsonVeExt);
// } else {
// if (StrUtil.isNotEmpty(pcsn)) {
// ext_jo.put("pcsn", pcsn);
// }
// if (StrUtil.isNotEmpty(qty)) {
// ext_jo.put("qty", qty);
// }
// veExtTab.update(ext_jo);
// }
// }
//
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.update(json);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void deleteAll(Long[] ids) {
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// for (Long storagevehicle_id : ids) {
// JSONObject param = new JSONObject();
// param.put("storagevehicle_id", String.valueOf(storagevehicle_id));
// param.put("is_delete", "1");
// param.put("update_optid", currentUserId);
// param.put("update_optname", nickName);
// param.put("update_time", now);
// wo.update(param);
// }
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void changeActive(JSONObject json) {
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// String is_used = "1";
// if (StrUtil.equals("1", json.getString("is_used"))) {
// is_used = "0";
// }
// json.put("is_used", is_used);
// json.put("update_optid", currentUserId);
// json.put("update_optname", nickName);
// json.put("update_time", now);
// WQLObject.getWQLObject("md_pb_storagevehicleinfo").update(json);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public JSONObject getVehicle(String code) {
// String term = "";
// switch (code) {
// case "00":
// term = "VEHICCLE_CODE_MTP";
// break;
// case "01":
// term = "VEHICCLE_CODE_TTP";
// break;
// default:
// break;
// }
//
// HashMap<String, String> map = new HashMap<>();
// map.put("code", term);
// map.put("flag", "0");
// SysCodeRuleServiceImpl genCodeService = new SysCodeRuleServiceImpl();
// String value = genCodeService.codeDemo(map);
//
// JSONObject json = new JSONObject();
// json.put("value", value);
// return json;
// }
//
//}

322
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java

@ -1,161 +1,161 @@
package org.nl.wms.basedata.master.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.ResultBean;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.basedata.master.service.UnitService;
import org.nl.wms.basedata.master.service.dto.UnitDto;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务实现
* @date 2021-12-07
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class UnitServiceImpl implements UnitService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String where = "";
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
String search = (String) whereJson.get("search");
if (!StrUtil.isEmpty(search)) {
where = " AND (unit_code like '%" + search + "%' OR unit_name like '%" + search + "%' ) ";
}
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_delete='0' " + where, "update_time desc");
final JSONObject json = rb.pageResult();
return json;
}
@Override
public List<UnitDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONArray arr = wo.query().getResultJSONArray(0);
List<UnitDto> list = arr.toJavaList(UnitDto.class);
return list;
}
@Override
public UnitDto findById(Long measure_unit_id) {
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONObject json = wo.query("measure_unit_id =" + measure_unit_id + "").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) {
return null;
}
final UnitDto obj = json.toJavaObject(UnitDto.class);
return obj;
}
@Override
public UnitDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONObject json = wo.query("unit_code ='" + code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) {
return null;
}
final UnitDto obj = json.toJavaObject(UnitDto.class);
return obj;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(UnitDto dto) {
String unit_code = dto.getUnit_code();
UnitDto unitDto = this.findByCode(unit_code);
if (unitDto != null && "0".equals(unitDto.getIs_delete())) {
throw new BadRequestException("存在相同的编码");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setMeasure_unit_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setCreate_id(String.valueOf(currentUserId));
dto.setCreate_name(nickName);
dto.setUpdate_optid(String.valueOf(currentUserId));
dto.setUpdate_optname(nickName);
dto.setUpdate_time(now);
dto.setCreate_time(now);
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.insert(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UnitDto dto) {
UnitDto entity = this.findById(dto.getMeasure_unit_id());
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String unit_code = dto.getUnit_code();
UnitDto unitDto = this.findByCode(unit_code);
if (unitDto != null &&
!unitDto.getMeasure_unit_id().equals(dto.getMeasure_unit_id())
&& "0".equals(unitDto.getIs_delete())) {
throw new BadRequestException("存在相同的编码");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setUpdate_time(now);
dto.setUpdate_optid(String.valueOf(currentUserId));
dto.setUpdate_optname(nickName);
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.update(json);
}
@Override
public JSONObject getUnit(Map whereJson) {
JSONArray units = WQLObject.getWQLObject("md_pb_measureunit").query("is_used = '1' AND is_delete = '0'").getResultJSONArray(0);
JSONObject jo = new JSONObject();
jo.put("content", units);
return jo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(String[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
for (String measure_unit_id : ids) {
JSONObject param = new JSONObject();
param.put("measure_unit_id", String.valueOf(measure_unit_id));
param.put("is_delete", "1");
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
wo.update(param);
}
}
}
//package org.nl.wms.basedata.master.service.impl;
//
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.IdUtil;
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.core.util.StrUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.nl.common.utils.SecurityUtils;
//import org.nl.modules.common.exception.BadRequestException;
//import org.nl.modules.wql.core.bean.ResultBean;
//import org.nl.modules.wql.core.bean.WQLObject;
//import org.nl.modules.wql.util.WqlUtil;
//import org.nl.wms.basedata.master.service.UnitService;
//import org.nl.wms.basedata.master.service.dto.UnitDto;
//import org.springframework.data.domain.Pageable;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * @author loujf
// * @description 服务实现
// * @date 2021-12-07
// **/
//@Service
//@RequiredArgsConstructor
//@Slf4j
//public class UnitServiceImpl implements UnitService {
//
// @Override
// public Map<String, Object> queryAll(Map whereJson, Pageable page) {
// String where = "";
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// String search = (String) whereJson.get("search");
// if (!StrUtil.isEmpty(search)) {
// where = " AND (unit_code like '%" + search + "%' OR unit_name like '%" + search + "%' ) ";
// }
// ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_delete='0' " + where, "update_time desc");
// final JSONObject json = rb.pageResult();
// return json;
// }
//
// @Override
// public List<UnitDto> queryAll(Map whereJson) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONArray arr = wo.query().getResultJSONArray(0);
// List<UnitDto> list = arr.toJavaList(UnitDto.class);
// return list;
// }
//
// @Override
// public UnitDto findById(Long measure_unit_id) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONObject json = wo.query("measure_unit_id =" + measure_unit_id + "").uniqueResult(0);
// if (ObjectUtil.isEmpty(json)) {
// return null;
// }
// final UnitDto obj = json.toJavaObject(UnitDto.class);
// return obj;
// }
//
// @Override
// public UnitDto findByCode(String code) {
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONObject json = wo.query("unit_code ='" + code + "'").uniqueResult(0);
// if (ObjectUtil.isEmpty(json)) {
// return null;
// }
// final UnitDto obj = json.toJavaObject(UnitDto.class);
// return obj;
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void create(UnitDto dto) {
// String unit_code = dto.getUnit_code();
// UnitDto unitDto = this.findByCode(unit_code);
// if (unitDto != null && "0".equals(unitDto.getIs_delete())) {
// throw new BadRequestException("存在相同的编码");
// }
//
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// dto.setMeasure_unit_id(IdUtil.getSnowflake(1, 1).nextId());
// dto.setCreate_id(String.valueOf(currentUserId));
// dto.setCreate_name(nickName);
// dto.setUpdate_optid(String.valueOf(currentUserId));
// dto.setUpdate_optname(nickName);
// dto.setUpdate_time(now);
// dto.setCreate_time(now);
//
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.insert(json);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void update(UnitDto dto) {
// UnitDto entity = this.findById(dto.getMeasure_unit_id());
// if (entity == null) {
// throw new BadRequestException("被删除或无权限,操作失败!");
// }
//
// String unit_code = dto.getUnit_code();
// UnitDto unitDto = this.findByCode(unit_code);
// if (unitDto != null &&
// !unitDto.getMeasure_unit_id().equals(dto.getMeasure_unit_id())
// && "0".equals(unitDto.getIs_delete())) {
// throw new BadRequestException("存在相同的编码");
// }
//
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
// dto.setUpdate_time(now);
// dto.setUpdate_optid(String.valueOf(currentUserId));
// dto.setUpdate_optname(nickName);
//
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
// wo.update(json);
// }
//
// @Override
// public JSONObject getUnit(Map whereJson) {
// JSONArray units = WQLObject.getWQLObject("md_pb_measureunit").query("is_used = '1' AND is_delete = '0'").getResultJSONArray(0);
// JSONObject jo = new JSONObject();
// jo.put("content", units);
// return jo;
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void deleteAll(String[] ids) {
// String currentUserId = SecurityUtils.getCurrentUserId();
// String nickName = SecurityUtils.getCurrentNickName();
// String now = DateUtil.now();
//
// WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit");
// for (String measure_unit_id : ids) {
// JSONObject param = new JSONObject();
// param.put("measure_unit_id", String.valueOf(measure_unit_id));
// param.put("is_delete", "1");
// param.put("update_optid", currentUserId);
// param.put("update_optname", nickName);
// param.put("update_time", now);
// wo.update(param);
// }
// }
//
//}

83
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/cotroller/StoragevehicleinfoController.java

@ -0,0 +1,83 @@
package org.nl.wms.basedata.master.storagevehicleinfo.cotroller;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.storagevehicleinfo.service.StoragevehicleinfoService;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author ldjun
* @date 2021-12-09
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/storagevehicleinfo")
@Slf4j
public class StoragevehicleinfoController {
private final StoragevehicleinfoService storagevehicleinfoService;
@GetMapping
@Log("查询载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:list')")
public ResponseEntity<Object> query(StoragevehicleinfoQuery whereJson, PageQuery page) {
return new ResponseEntity<>(storagevehicleinfoService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:add')")
public ResponseEntity<Object> create(@RequestBody StoragevehicleinfoQuery map) {
return new ResponseEntity<>(storagevehicleinfoService.create(map), HttpStatus.CREATED);
}
@PutMapping
@Log("修改载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:edit')")
public ResponseEntity<Object> update(@RequestBody StoragevehicleinfoQuery map) {
storagevehicleinfoService.update(map);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除载具")
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
storagevehicleinfoService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PutMapping("/changeActive")
@Log("修改点位启用状态")
//@PreAuthorize("@el.check('store:edit')")
public ResponseEntity<Object> changeActive(@RequestBody StoragevehicleinfoQuery json) {
storagevehicleinfoService.changeActive(json);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@GetMapping("/getVehicle/{code}")
@Log("获取起始载具号")
//@PreAuthorize("@el.check('store:edit')")
public ResponseEntity<Object> getVehicle(@PathVariable String code) {
JSONObject json = storagevehicleinfoService.getVehicle(code);
return new ResponseEntity<>(json, HttpStatus.OK);
}
}

71
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/StoragevehicleinfoService.java

@ -0,0 +1,71 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author ldjun
* @description 服务接口
* @date 2021-12-09
**/
public interface StoragevehicleinfoService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
JSONObject queryAll(StoragevehicleinfoQuery whereJson, PageQuery page);
/**
* 创建
*
* @param map /
*/
JSONArray create(StoragevehicleinfoQuery map);
/**
* 编辑
*
* @param map /
*/
void update(StoragevehicleinfoQuery map);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 多修改启用状态
*
* @param json /
*/
void changeActive(StoragevehicleinfoQuery json);
/**
* 获取起始载具号
*
* @param code /
*/
JSONObject getVehicle(String code);
}

38
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/Storagevehicleex.java

@ -0,0 +1,38 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dao;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_pb_storagevehicleext")
public class Storagevehicleex {
private Long storagevehicleext_id;
private Long storagevehicle_id;
private Long material_id;
private String storagevehicle_code;
private String pcsn;
private String storagevehicle_type;
private String remark;
private String update_optid;
private String update_optname;
private String update_time;
private Long device_uuid;
private String qty;
}

58
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/Storagevehicleinfo.java

@ -0,0 +1,58 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_pb_storagevehicleinfo")
public class Storagevehicleinfo implements Serializable {
@TableId(value = "storagevehicle_id", type = IdType.NONE)
/**
* 防止精度丢失
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long storagevehicle_id;
private String storagevehicle_code;
private String storagevehicle_name;
private String rfid_code;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String is_used;
private String storagevehicle_type;
private String overstruct_type;
private BigDecimal occupystruct_qty;
}

17
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleexMapper.java

@ -0,0 +1,17 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.lettuce.core.dynamic.annotation.Param;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleex;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
import java.util.List;
public interface StoragevehicleexMapper extends BaseMapper<Storagevehicleex> {
}

21
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleinfoMapper.java

@ -0,0 +1,21 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.lettuce.core.dynamic.annotation.Param;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
import java.util.List;
public interface StoragevehicleinfoMapper extends BaseMapper<Storagevehicleinfo> {
IPage<StoragevehicleinfoDto> selectByParam(@Param("whereJson") StoragevehicleinfoQuery whereJson,IPage<Storagevehicleinfo> page);
void insertList(@Param("list") List<StoragevehicleinfoDto> storagevehicleinfoDtoArrayList);
void updateBatchById(@Param("list") List<Storagevehicleinfo> storagevehicleinfos);
}

77
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dao/mapper/StoragevehicleinfoMapper.xml

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper.StoragevehicleinfoMapper">
<insert id="insertList"
parameterType="org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto">
insert into md_pb_storagevehicleinfo
(
storagevehicle_code,
storagevehicle_id,
storagevehicle_name,
storagevehicle_type,
create_name,
create_id,
create_time,
update_optid,
update_time
)
values
<foreach collection="list" item="item" separator=",">
(#{item.storagevehicle_code},#{item.storagevehicle_id},#{item.storagevehicle_name},#{item.storagevehicle_type},#{item.create_name},#{item.create_id},#{item.create_time},#{item.update_optid},#{item.update_time})
</foreach>
</insert>
<select id="selectByParam"
resultType="org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto">
SELECT
s.*,
ext.pcsn,
ext.qty,
ext.update_time AS change_time,
point.point_code,
point.point_name,
class.class_name AS storagevehicle_type_name
FROM
md_pb_storagevehicleinfo s
LEFT JOIN sch_base_point point ON point.vehicle_code = s.storagevehicle_code
LEFT JOIN md_pb_classstandard class ON class.class_code = s.storagevehicle_type
LEFT JOIN md_pb_storagevehicleext ext ON ext.storagevehicle_code = s.storagevehicle_code
WHERE
1=1
<if test="whereJson.storagevehicle_types != null">
s.storagevehicle_type in
<foreach collection="whereJson.storagevehicle_types" item="type" open="(" separator="," close=")">
#{type}
</foreach>
</if>
and s.is_delete = '0'
<if test="whereJson.storagevehicle_code_begin != null">
AND s.storagevehicle_code >= #{whereJson.storagevehicle_code_begin}
</if>
<if test="whereJson.storagevehicle_code_end != null">
AND s.storagevehicle_code &lt;= #{whereJson.storagevehicle_code_end}
</if>
order by s.storagevehicle_code ASC
</select>
<update id="updateBatchById" parameterType="org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo">
<foreach collection="list" item="item" >
update md_pb_storagevehicleinfo
set
<if test="item.is_delete!=null">
is_delete = #{item.is_delete},
</if>
<if test="item.update_optid!=null">
update_optid = #{item.update_optid},
</if>
<if test="item.update_optname!=null">
update_optname = #{item.update_optname},
</if>
<if test="item.update_time!=null">
update_time = #{item.update_time}
</if>
where storagevehicle_id = #{item.storagevehicle_id};
</foreach>
</update>
</mapper>

67
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dto/StoragevehicleinfoDto.java

@ -0,0 +1,67 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class StoragevehicleinfoDto implements Serializable {
/**
* 防止精度丢失
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long storagevehicle_id;
private String storagevehicle_code;
private String storagevehicle_name;
private String one_code;
private String two_code;
private String rfid_code;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String is_used;
private String storagevehicle_type;
private String storagevehicle_type_name;
private BigDecimal vehicle_width;
private BigDecimal vehicle_long;
private BigDecimal vehicle_height;
private String overstruct_type;
private BigDecimal occupystruct_qty;
private String ext_id;
}

40
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/dto/StoragevehicleinfoQuery.java

@ -0,0 +1,40 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class StoragevehicleinfoQuery implements Serializable {
private String storagevehicle_code_end;
private String storagevehicle_code_begin;
private String storagevehicle_code;
private List<String> storagevehicle_types;
private String storagevehicle_type;
private Long storagevehicle_id;
private String num;
private String qty;
private String pcsn;
private String is_used;
private String update_optid;
private String update_optname;
private String update_time;
}

248
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storagevehicleinfo/service/impl/StoragevehicleinfoServiceImpl.java

@ -0,0 +1,248 @@
package org.nl.wms.basedata.master.storagevehicleinfo.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil;
import org.nl.system.service.coderule.impl.SysCodeRuleServiceImpl;
import org.nl.wms.basedata.master.sectattr.service.dao.Sectattr;
import org.nl.wms.basedata.master.standard.service.IClassStandardService;
import org.nl.wms.basedata.master.standard.service.dao.ClassStandard;
import org.nl.wms.basedata.master.standard.service.dao.mapper.ClassStandardMapper;
import org.nl.wms.basedata.master.storagevehicleinfo.service.StoragevehicleinfoService;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleex;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleinfo;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper.StoragevehicleexMapper;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper.StoragevehicleinfoMapper;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoDto;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dto.StoragevehicleinfoQuery;
import org.nl.wms.basedata.master.unit.service.dao.Unit;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @author ldjun
* @description 服务实现
* @date 2021-12-09
**/
@Service
@Slf4j
public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService {
@Autowired
IClassStandardService classstandardService;
@Autowired
ClassStandardMapper classStandardMapper;
@Autowired
StoragevehicleinfoMapper storagevehicleinfoMapper;
@Autowired
StoragevehicleexMapper storagevehicleexMapper;
@Override
public JSONObject queryAll(StoragevehicleinfoQuery whereJson, PageQuery page) {
if (StrUtil.isNotEmpty((String) whereJson.getStoragevehicle_type())) {
ClassStandard dto = classStandardMapper.selectById(whereJson.getStoragevehicle_type());
List<String> storagevehicle_types = classstandardService.getAllChildrenIds(dto.getClass_id().toString());
whereJson.setStoragevehicle_types(storagevehicle_types);
}
IPage<Storagevehicleinfo> pages = new Page<>(page.getPage() + 1, page.getSize());
IPage<StoragevehicleinfoDto> storagevehicleinfoIPage = storagevehicleinfoMapper.selectByParam(whereJson,pages);
JSONObject jo = new JSONObject();
jo.put("content", storagevehicleinfoIPage.getRecords());
jo.put("totalElements", storagevehicleinfoIPage.getTotal());
return jo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONArray create(StoragevehicleinfoQuery map) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
String storagevehicle_type = map.getStoragevehicle_type();
ClassStandard classstandardServiceById = classStandardMapper.selectById(storagevehicle_type);
String class_code = classstandardServiceById.getClass_code().substring(0, 4);
;
String code = "";
switch (class_code) {
case "0001":
//气涨轴编码
code = "VEHICCLE_CODE_QZZ";
break;
case "0002":
code = "VEHICLE_CODE_GXTP";
break;
case "0003":
if (classstandardServiceById.getClass_code().equals("000301")){
code = "VEHICLE_CODE_LK";
}
if (classstandardServiceById.getClass_code().equals("000302")){
code = "VEHICLE_CODE_LKB";
}
break;
default:
break;
}
if (StrUtil.isEmpty(code)) {
throw new BadRequestException("请选择正确的载具类型!");
}
JSONArray resultCodeArr = new JSONArray();
int num = Integer.valueOf(map.getNum());
List<StoragevehicleinfoDto> storagevehicleinfoDtoArrayList = new ArrayList<>();
for (int i = 0; i < num; i++) {
StoragevehicleinfoDto dto = new StoragevehicleinfoDto();
dto.setStoragevehicle_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setStoragevehicle_code(CodeUtil.getNewCode(code));
dto.setCreate_id(currentUserId);
dto.setStoragevehicle_name(dto.getStoragevehicle_code());
dto.setCreate_name(nickName);
dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName);
dto.setUpdate_time(now);
dto.setCreate_time(now);
dto.setStoragevehicle_type(classstandardServiceById.getClass_code());
storagevehicleinfoDtoArrayList.add(dto);
resultCodeArr.add(dto.getStoragevehicle_code());
}
storagevehicleinfoMapper.insertList(storagevehicleinfoDtoArrayList);
return resultCodeArr;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(StoragevehicleinfoQuery dto) {
String qty = dto.getQty();
String pcsn = dto.getPcsn();
if (StrUtil.isNotEmpty(qty) || StrUtil.isNotEmpty(pcsn)) {
Storagevehicleex storagevehicleex = storagevehicleexMapper.selectOne(new LambdaQueryWrapper<Storagevehicleex>().eq(Storagevehicleex::getStoragevehicle_code, dto.getStoragevehicle_code()));
if (ObjectUtil.isEmpty(storagevehicleex)) {
//新增一条记录
storagevehicleex.setStoragevehicleext_id(org.nl.common.utils.IdUtil.getLongId());
storagevehicleex.setStoragevehicle_id(dto.getStoragevehicle_id());
storagevehicleex.setStoragevehicle_code(dto.getStoragevehicle_code());
storagevehicleex.setStoragevehicle_type(dto.getStoragevehicle_type());
if (StrUtil.isNotEmpty(pcsn)) {
storagevehicleex.setPcsn(dto.getPcsn());
}
if (StrUtil.isNotEmpty(qty)) {
storagevehicleex.setQty(dto.getQty());
}
storagevehicleex.setDevice_uuid(org.nl.common.utils.IdUtil.getLongId());
storagevehicleex.setUpdate_time(DateUtil.now());
storagevehicleexMapper.insert(storagevehicleex);
} else {
if (StrUtil.isNotEmpty(pcsn)) {
storagevehicleex.setPcsn(dto.getPcsn());
}
if (StrUtil.isNotEmpty(qty)) {
storagevehicleex.setQty(dto.getQty());
}
storagevehicleexMapper.update(storagevehicleex, new LambdaQueryWrapper<Storagevehicleex>().eq(Storagevehicleex::getStoragevehicleext_id, storagevehicleex.getStoragevehicleext_id()));
}
}
Storagevehicleinfo storagevehicleinfoUpdate = new Storagevehicleinfo();
BeanUtils.copyProperties(dto, storagevehicleinfoUpdate);
storagevehicleinfoMapper.update(storagevehicleinfoUpdate, new LambdaQueryWrapper<Storagevehicleinfo>());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(Long[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
List<Storagevehicleinfo> storagevehicleinfos = new ArrayList<>();
for (Long storagevehicle_id : ids) {
Storagevehicleinfo storagevehicleinfo = new Storagevehicleinfo();
storagevehicleinfo.setStoragevehicle_id(storagevehicle_id);
storagevehicleinfo.setIs_delete("1");
storagevehicleinfo.setUpdate_optid(currentUserId);
storagevehicleinfo.setUpdate_optname(nickName);
storagevehicleinfo.setUpdate_time(now);
storagevehicleinfos.add(storagevehicleinfo);
}
storagevehicleinfoMapper.updateBatchById(storagevehicleinfos);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void changeActive(StoragevehicleinfoQuery json) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
String is_used = "1";
if (StrUtil.equals("1", json.getIs_used())) {
is_used = "0";
}
Storagevehicleinfo storagevehicleinfo = new Storagevehicleinfo();
storagevehicleinfo.setIs_used(is_used);
storagevehicleinfo.setUpdate_optid(currentUserId);
storagevehicleinfo.setUpdate_optname(nickName);
storagevehicleinfo.setUpdate_time(now);
storagevehicleinfo.setStoragevehicle_id(json.getStoragevehicle_id());
storagevehicleinfoMapper.updateById(storagevehicleinfo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject getVehicle(String code) {
String term = "";
switch (code) {
case "00":
term = "VEHICCLE_CODE_MTP";
break;
case "01":
term = "VEHICCLE_CODE_TTP";
break;
default:
break;
}
HashMap<String, String> map = new HashMap<>();
map.put("code", term);
map.put("flag", "0");
SysCodeRuleServiceImpl genCodeService = new SysCodeRuleServiceImpl();
String value = genCodeService.codeDemo(map);
JSONObject json = new JSONObject();
json.put("value", value);
return json;
}
}

74
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/cotroller/UnitController.java

@ -0,0 +1,74 @@
package org.nl.wms.basedata.master.unit.cotroller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.basedata.master.unit.service.UnitService;
import org.nl.wms.basedata.master.unit.service.dto.UnitDto;
import org.nl.wms.basedata.master.unit.service.dto.UnitQuery;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author loujf
* @date 2021-12-07
**/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/mdPbMeasureunit")
@Slf4j
public class UnitController {
private final UnitService unitService;
@GetMapping
@Log("查询计量单位")
//@PreAuthorize("@el.check('Unit:list')")
public ResponseEntity<Object> query(@RequestParam UnitQuery whereJson, PageQuery page) {
return new ResponseEntity<>(unitService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增计量单位")
//@PreAuthorize("@el.check('Unit:add')")
public ResponseEntity<Object> create(@Validated @RequestBody UnitDto dto) {
unitService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改计量单位")
//@PreAuthorize("@el.check('Unit:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody UnitDto dto) {
unitService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除计量单位")
//@PreAuthorize("@el.check('Unit:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
unitService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getUnit")
@Log("查询单位下拉框")
//@PreAuthorize("@el.check('materialtype:list')")
public ResponseEntity<Object> queryUnit(@RequestParam Map whereJson) {
return new ResponseEntity<>(unitService.getUnit(whereJson), HttpStatus.OK);
}
}

57
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/UnitService.java

@ -0,0 +1,57 @@
package org.nl.wms.basedata.master.unit.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata.master.unit.service.dao.Unit;
import org.nl.wms.basedata.master.unit.service.dto.UnitDto;
import org.nl.wms.basedata.master.unit.service.dto.UnitQuery;
import java.util.Map;
/**
* @author loujf
* @description 服务接口
* @date 2021-12-07
**/
public interface UnitService {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
IPage<Unit> queryAll(UnitQuery whereJson, PageQuery page);
/**
* 创建
*
* @param dto /
*/
void create(UnitDto dto);
/**
* 编辑
*
* @param dto /
*/
void update(UnitDto dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(String[] ids);
JSONObject getUnit(Map whereJson);
}

48
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/Unit.java

@ -0,0 +1,48 @@
package org.nl.wms.basedata.master.unit.service.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("md_pb_measureunit")
public class Unit implements Serializable {
@TableId(value = "measure_unit_id", type = IdType.NONE)
private Long measure_unit_id;
private String unit_code;
private String unit_name;
private BigDecimal qty_precision;
private String is_used;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String ext_id;
}

13
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/mapper/UnitMapper.java

@ -0,0 +1,13 @@
package org.nl.wms.basedata.master.unit.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.lettuce.core.dynamic.annotation.Param;
import org.nl.wms.basedata.master.unit.service.dao.Unit;
import java.util.List;
public interface UnitMapper extends BaseMapper<Unit> {
void updateBatchById(@Param("unitList") List<Unit> unitList);
}

31
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dao/mapper/UnitMapper.xml

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.basedata.master.unit.service.dao.mapper.UnitMapper">
<update id="updateBatchById" parameterType="org.nl.wms.basedata.master.unit.service.dao.Unit">
<foreach collection="unitList" item="item" >
update md_pb_measureunit
set
<if test="item.measure_unit_id!=null">
measure_unit_id = #{item.measure_unit_id},
</if>
<if test="item.unit_code!=null">
unit_code = #{item.unit_code},
</if>
<if test="item.unit_name!=null">
unit_name = #{item.unit_name},
</if>
<if test="item.qty_precision!=null">
qty_precision = #{item.qty_precision},
</if>
<if test="item.is_used!=null">
is_used = #{item.is_used},
</if>
<if test="item.create_name!=null">
create_name = #{item.create_name},
</if>
where measure_unit_id = #{item.measure_unit_id};
</foreach>
</update>
</mapper>

42
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dto/UnitDto.java

@ -0,0 +1,42 @@
package org.nl.wms.basedata.master.unit.service.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class UnitDto implements Serializable {
private Long measure_unit_id;
private String unit_code;
private String unit_name;
private BigDecimal qty_precision;
private String is_used;
private String create_id;
private String create_name;
private String create_time;
private String update_optid;
private String update_optname;
private String update_time;
private String is_delete;
private String ext_id;
}

18
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/dto/UnitQuery.java

@ -0,0 +1,18 @@
package org.nl.wms.basedata.master.unit.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author loujf
* @description /
* @date 2021-12-07
**/
@Data
public class UnitQuery implements Serializable {
private String search;
}

151
lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/unit/service/impl/UnitServiceImpl.java

@ -0,0 +1,151 @@
package org.nl.wms.basedata.master.unit.service.impl;
import cn.dev33.satoken.json.SaJsonTemplate;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.basedata.master.sales.service.dao.Sales;
import org.nl.wms.basedata.master.unit.service.UnitService;
import org.nl.wms.basedata.master.unit.service.dao.Unit;
import org.nl.wms.basedata.master.unit.service.dao.mapper.UnitMapper;
import org.nl.wms.basedata.master.unit.service.dto.UnitDto;
import org.nl.wms.basedata.master.unit.service.dto.UnitQuery;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @author loujf
* @description 服务实现
* @date 2021-12-07
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class UnitServiceImpl implements UnitService {
private final SaJsonTemplate getSaJsonTemplateForJackson;
@Autowired
private UnitMapper unitMapper;
@Override
public IPage<Unit> queryAll(UnitQuery whereJson, PageQuery page) {
IPage<Unit> pages = new Page<>(page.getPage() + 1, page.getSize());
LambdaQueryWrapper<Unit> lam = new LambdaQueryWrapper<Unit>();
lam.eq(Unit::getIs_delete, "0")
.and(ObjectUtil.isNotEmpty(whereJson.getSearch()), blam -> blam.like(Unit::getUnit_code, whereJson.getSearch()).or()
.like(Unit::getUnit_name, whereJson.getSearch()))
.orderByDesc(Unit::getUpdate_time);
unitMapper.selectPage(pages, lam);
return pages;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(UnitDto dto) {
LambdaQueryWrapper<Unit> lam = new LambdaQueryWrapper<Unit>();
lam.eq(Unit::getUnit_code, dto.getUnit_code());
Unit unit = unitMapper.selectOne(lam);
if (unit != null && "0".equals(unit.getIs_delete())) {
throw new BadRequestException("存在相同的编码");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setMeasure_unit_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setCreate_id(String.valueOf(currentUserId));
dto.setCreate_name(nickName);
dto.setUpdate_optid(String.valueOf(currentUserId));
dto.setUpdate_optname(nickName);
dto.setUpdate_time(now);
dto.setCreate_time(now);
Unit unitInsert = new Unit();
BeanUtils.copyProperties(dto,unitInsert);
unitMapper.insert(unitInsert);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UnitDto dto) {
LambdaQueryWrapper<Unit> lam = new LambdaQueryWrapper<Unit>();
lam.eq(Unit::getMeasure_unit_id, dto.getMeasure_unit_id());
Unit unitById = unitMapper.selectOne(lam);
if (unitById == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
LambdaQueryWrapper<Unit> lamCode = new LambdaQueryWrapper<Unit>();
lamCode.eq(Unit::getUnit_code, dto.getUnit_code());
Unit unitByCode = unitMapper.selectOne(lamCode);
if (unitByCode != null && !unitByCode.getMeasure_unit_id().equals(dto.getMeasure_unit_id())&&"0".equals(unitByCode.getIs_delete())) {
throw new BadRequestException("存在相同的编码");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setUpdate_time(now);
dto.setUpdate_optid(String.valueOf(currentUserId));
dto.setUpdate_optname(nickName);
Unit unit = new Unit();
BeanUtils.copyProperties(dto, unit);
unitMapper.updateById(unit);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(String[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
List<Unit> unitList = new ArrayList<>();
for (String measure_unit_id : ids) {
Unit unit = new Unit();
unit.setIs_delete("1");
unit.setUpdate_optid(currentUserId);
unit.setUpdate_optname(nickName);
unit.setUpdate_time(now);
unit.setMeasure_unit_id(Long.valueOf(measure_unit_id));
unitList.add(unit);
}
unitMapper.updateBatchById(unitList);
}
@Override
public JSONObject getUnit(Map whereJson) {
LambdaQueryWrapper<Unit> lam = new LambdaQueryWrapper<Unit>();
lam.eq(Unit::getIs_used, "1").eq(Unit::getIs_delete, "0");
List<Unit> units = unitMapper.selectList(lam);
JSONObject jo = new JSONObject();
jo.put("content", units);
return jo;
}
}

3
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/HandMoveStorService.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.st.instor.movestor.service.dao.MoveStor;
import org.nl.wms.st.instor.movestor.service.dto.BoxIvt;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlDto;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlQuery;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery;
@ -74,7 +75,7 @@ public interface HandMoveStorService extends IService<MoveStor> {
* @param whereJson
* @return
*/
JSONArray getBoxIvt(JSONArray whereJson);
List<BoxIvt> getBoxIvt(JSONArray whereJson);
/**
* 移库单强制确认

4
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.st.instor.movestor.service.dto.BoxIvt;
import java.io.Serializable;
@ -87,8 +88,7 @@ public class MoveStorDtl implements Serializable {
//备注
private String remark;
public void copyFrom(JSONObject source){
public void copyFrom(BoxIvt source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}

22
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java

@ -1,13 +1,13 @@
package org.nl.wms.st.instor.movestor.service.dao.mapper;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.st.instor.movestor.service.dao.MoveStorDtl;
import org.nl.wms.st.instor.movestor.service.dto.BoxIvt;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlDto;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlQuery;
import java.util.HashSet;
import java.util.List;
/**
@ -23,5 +23,21 @@ public interface MoveStorDtlMapper extends BaseMapper<MoveStorDtl> {
* @param list
* @return
*/
JSONArray getBoxIvt(@Param("list") HashSet<String> list);
List<BoxIvt> getBoxIvt(List<String> list);
/**
* 查询载具内所有库存
* @param list
* @return
*/
List<BoxIvt> getStoragevehicleIvt(List<String> list);
/**
* 查询载具内所有库存
* @param query
* @return
*/
List<BoxIvt> getStoragevehicleIvtByPackageBoxSn(@Param("query")String query);
JSONObject getUnFinishCheckDtl(List<String> list);
}

97
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml

@ -24,7 +24,7 @@
order by movedtl.seq_no
</select>
<select id="getBoxIvt" resultType="com.alibaba.fastjson.JSONArray" parameterType="java.util.HashSet">
<select id="getBoxIvt" resultType="org.nl.wms.st.instor.movestor.service.dto.BoxIvt">
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
@ -45,7 +45,8 @@
mu.unit_name AS qty_unit_name,
sub.sale_order_name,
sub.customer_name,
sub.customer_description
sub.customer_description,
'01' as work_status
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
@ -61,4 +62,96 @@
</foreach>
</if>
</select>
<select id="getStoragevehicleIvt" resultType="org.nl.wms.st.instor.movestor.service.dto.BoxIvt">
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
ivt2.pcsn,
ivt2.quality_scode,
ivt2.qty_unit_id,
mu.unit_name AS qty_unit_name,
ivt2.ivt_qty AS qty,
mb.material_code,
mb.material_name,
struct.struct_id AS turnout_struct_id,
struct.struct_code AS turnout_struct_code,
struct.struct_name AS turnout_struct_name,
struct.sect_id AS turnout_sect_id,
struct.sect_name AS turnout_sect_name,
struct.sect_code AS turnout_sect_code,
struct.storagevehicle_code,
point.point_code AS start_point_code
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
LEFT JOIN SCH_BASE_Point point ON point.source_id = struct.struct_id
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = mb.base_unit_id
WHERE
1 = 1
AND struct.lock_type = '1'
AND IFNULL(struct.storagevehicle_code,'') != ''
<if test="list != null">
AND struct.storagevehicle_code in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<select id="getStoragevehicleIvtByPackageBoxSn" resultType="org.nl.wms.st.instor.movestor.service.dto.BoxIvt">
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
ivt2.pcsn,
ivt2.quality_scode,
ivt2.qty_unit_id,
ivt2.ivt_qty AS qty,
mb.material_code,
mb.material_name,
struct.struct_id AS turnout_struct_id,
struct.struct_code AS turnout_struct_code,
struct.struct_name AS turnout_struct_name,
struct.sect_id AS turnout_sect_id,
struct.sect_name AS turnout_sect_name,
struct.sect_code AS turnout_sect_code,
struct.storagevehicle_id,
struct.storagevehicle_code,
mu.unit_name AS qty_unit_name,
sub.sale_order_name,
sub.customer_name,
sub.customer_description,
sub.sap_pcsn
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt2.qty_unit_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt2.pcsn AND sub.package_box_sn = struct.storagevehicle_code
WHERE
1 = 1
AND struct.lock_type = '1'
<if test="query != null">
sub.package_box_sn = #{query}
</if>
</select>
<select id="getUnFinishCheckDtl" resultType="com.alibaba.fastjson.JSONObject">
SELECT
dtl.*
FROM
st_ivt_checkdtl dtl
LEFT JOIN st_ivt_checkmst mst ON mst.check_id = dtl.check_id
WHERE
mst.is_delete = '0'
and dtl.status not in ('3','5','99')
<if test="list != null">
AND dtl.storagevehicle_code in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</if>
limit 1
</select>
</mapper>

37
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/BoxIvt.java

@ -0,0 +1,37 @@
package org.nl.wms.st.instor.movestor.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author: zds
* @date: 2024-09-27
* @description:
*/
@Data
public class BoxIvt implements Serializable {
private String stockrecord_id;
private String material_id;
private String pcsn;
private String quality_scode;
private String qty_unit_id;
private String qty_unit_name;
private String qty;
private String material_code;
private String material_name;
private String turnout_struct_id;
private String turnout_struct_code;
private String turnout_struct_name;
private String turnout_sect_id;
private String turnout_sect_name;
private String turnout_sect_code;
private Double storagevehicle_id;
private String storagevehicle_code;
private String sale_order_name;
private String customer_name;
private String customer_description;
private String work_status;
private String start_point_code;
private String sap_pcsn;
}

211
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java

@ -23,6 +23,8 @@ import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.basedata.master.structattr.service.dao.Structattr;
import org.nl.wms.basedata.master.structattr.service.dao.mapper.StructattrMapper;
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.nl.wms.sch.manage.TaskStatusEnum;
@ -34,6 +36,7 @@ import org.nl.wms.st.instor.movestor.service.dao.MoveStor;
import org.nl.wms.st.instor.movestor.service.dao.MoveStorDtl;
import org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorDtlMapper;
import org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorMapper;
import org.nl.wms.st.instor.movestor.service.dto.BoxIvt;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlDto;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlQuery;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery;
@ -45,7 +48,6 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
/**
* PC端出入库新增
@ -67,6 +69,9 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
private MoveStorMapper moveStorMapper;
@Autowired
private MoveStorDtlMapper moveStorDtlMapper;
@Autowired
private StructattrMapper structattrMapper;
@Override
public IPage<MoveStor> pageQuery(MoveStorQuery whereJson, PageQuery page) {
@ -358,13 +363,10 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
if (ObjectUtil.isEmpty(jsonMove)) {
throw new BadRequestException("没有可用暂存位");
}
// 组织明细
JSONArray jsonIvt = WQL.getWO("QST_IVT_HANDMOVESTOR").addParam("flag", "35").addParam("package_box_sn", json.getString("storagevehicle_code")).process().getResultJSONArray(0);
List<JSONObject> collect = jsonIvt.stream().map(row -> (JSONObject) row).collect(Collectors.toList());
collect.forEach(row -> {
row.put("wrok_status", "10");
List<BoxIvt> jsonIvt = moveStorDtlMapper.getStoragevehicleIvtByPackageBoxSn(json.getString("storagevehicle_code"));
jsonIvt.forEach(boxIvt -> {
JSONObject row = (JSONObject) JSONObject.toJSON(boxIvt);
row.put("wrok_status", "01");
row.put("turnin_sect_id", jsonMove.getString("sect_id"));
row.put("turnin_sect_code", jsonMove.getString("sect_code"));
row.put("turnin_sect_name", jsonMove.getString("sect_name"));
@ -473,34 +475,26 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
String now = DateUtil.now();
//定义需要需要插入的库存集合
HashMap<String, JSONObject> Struct_map = new HashMap<String, JSONObject>();
StringBuffer ids = new StringBuffer();
for (int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
String storagevehicle_code = row.getString("storagevehicle_code");
if (i == 0) {
ids.append("'");
}
if (!Struct_map.containsKey(storagevehicle_code)) {
Struct_map.put(storagevehicle_code, row);
}
if (i != 0) {
ids.append("','");
}
ids.append(storagevehicle_code);
}
ids.append("'");
Set<String> set = Struct_map.keySet();
if(set.size() == 0){
throw new BadRequestException("当前移库明细载具集合为空!");
}
//查询所有载具的库存
JSONArray ja = WQL.getWO("QST_IVT_HANDMOVESTOR")
.addParam("flag", "33")
.addParam("ids", ids.toString())
.process().getResultJSONArray(0);
List<BoxIvt> ja = moveStorDtlMapper.getStoragevehicleIvt(new ArrayList<String>(set));
if (ja.size() == 0) {
throw new BadRequestException("当前所有载具无可移库库存!");
}
double total_qty = 0;
for (int i = 0; i < ja.size(); i++) {
MoveStorDtl jo = new MoveStorDtl();
jo.copyFrom(ja.getJSONObject(i));
jo.copyFrom(ja.get(i));
//累加明细数量
total_qty = total_qty + jo.getQty();
@ -525,7 +519,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
throw new BadRequestException(row.getString("turnin_struct_code") + "仓位数据异常,找不到对应点位!");
}
//判断是否已生成过了任务,未生成则插入任务
JSONObject task = wo_Task.query("is_delete = '0' and task_status<'05' and point_code1='" + ja.getJSONObject(i).getString("start_point_code") + "'").uniqueResult(0);
JSONObject task = wo_Task.query("is_delete = '0' and task_status<'05' and point_code1='" + ja.get(i).getStart_point_code() + "'").uniqueResult(0);
if (task != null) {
jo.setTask_id(task.getString("task_id"));
} else {
@ -539,7 +533,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
task.put("task_type", "010505");
task.put("acs_task_type", "7");
task.put("task_status", TaskStatusEnum.SURE_START.getCode());
task.put("point_code1", ja.getJSONObject(i).getString("start_point_code"));
task.put("point_code1", ja.get(i).getStart_point_code());
task.put("point_code2", point.getString("point_code"));
task.put("vehicle_code", jo.getStoragevehicle_code());
task.put("handle_class", HandMoveStorAcsTask.class.getName());
@ -644,34 +638,26 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
String now = DateUtil.now();
//定义需要需要插入的库存集合
HashMap<String, JSONObject> Struct_map = new HashMap<String, JSONObject>();
StringBuffer ids = new StringBuffer();
for (int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
String storagevehicle_code = row.getString("storagevehicle_code");
if (i == 0) {
ids.append("'");
}
if (!Struct_map.containsKey(storagevehicle_code)) {
Struct_map.put(storagevehicle_code, row);
}
if (i != 0) {
ids.append("','");
}
ids.append(storagevehicle_code);
}
ids.append("'");
Set<String> set = Struct_map.keySet();
if(set.size() == 0){
throw new BadRequestException("当前移库明细载具集合为空!");
}
//查询所有载具的库存
JSONArray ja = WQL.getWO("QST_IVT_HANDMOVESTOR")
.addParam("flag", "33")
.addParam("ids", ids.toString())
.process().getResultJSONArray(0);
List<BoxIvt> ja = moveStorDtlMapper.getStoragevehicleIvt(new ArrayList<String>(set));
if (ja.size() == 0) {
throw new BadRequestException("当前所有载具无可移库库存!");
}
double total_qty = 0;
for (int i = 0; i < ja.size(); i++) {
MoveStorDtl jodtl = new MoveStorDtl();
jodtl.copyFrom(ja.getJSONObject(i));
jodtl.copyFrom(ja.get(i));
//累加数量
total_qty = total_qty + jodtl.getQty();
@ -921,12 +907,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
@Override
public JSONArray getBoxIvt(JSONArray whereJson) {
public List<BoxIvt> getBoxIvt(JSONArray whereJson) {
HashSet<String> set = new HashSet<>();
for (int i = 0; i < whereJson.size(); i++) {
set.add(whereJson.getJSONObject(i).getString("storagevehicle_code"));
}
return moveStorDtlMapper.getBoxIvt(set);
return moveStorDtlMapper.getBoxIvt(new ArrayList<String>(set));
}
@Override
@ -1152,49 +1138,51 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
/*
* 将所有盘点位上的木箱生成移库单并下发任务
*/
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); // 仓位表
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(RegionTypeEnum.PD01.getId()), Structattr::getSect_id, RegionTypeEnum.PD01.getId())
.eq(Structattr::getIs_used, "1")
.gt(Structattr::getIs_delete, "0")
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByAsc(Structattr::getBlock_num)
.orderByDesc(Structattr::getBlock_num);//neededit out_order_seq DESC
List<Structattr> boxArr = structattrMapper.selectList(queryWrapper);
// 1.找出所有需要盘点的移库的木箱
JSONArray boxArr = attrTab.query("sect_id = '" + RegionTypeEnum.PD01.getId() + "' and IFNULL(storagevehicle_code,'') <> '' and is_used = '1' and is_delete = '0' order by block_num ASC,out_order_seq DESC").getResultJSONArray(0);
if (ObjectUtil.isEmpty(boxArr)) {
//JSONArray boxArr = attrTab.query("sect_id = '" + RegionTypeEnum.PD01.getId() + "' and IFNULL(storagevehicle_code,'') <> '' and is_used = '1' and is_delete = '0' order by block_num ASC,out_order_seq DESC").getResultJSONArray(0);
if (boxArr.size()==0) {
throw new BadRequestException("没有需要盘点回库的木箱!");
}
// 2.判断是否有被锁定的木箱
boolean is_lock = boxArr.stream().map(row -> (JSONObject) row)
.anyMatch(row -> !StrUtil.equals(row.getString("lock_type"), "1"));
queryWrapper.ne(Structattr::getLock_type,"1");
Integer lock_size = structattrMapper.selectCount(queryWrapper);
//boolean is_lock = boxArr.stream().map(row -> (JSONObject) row).anyMatch(row -> !StrUtil.equals(row.getString("lock_type"), "1"));
if (is_lock) {
if (lock_size>0) {
throw new BadRequestException("木箱存在被锁定,请检查!");
}
/* for (int i = 0; i < boxArr.size(); i++) {
JSONObject json = boxArr.getJSONObject(i);
// 3.判断木箱是否存在未完成的盘点单
WQL.getWO("QST_IVT_HANDMOVESTOR").addParam("flag", "8").addParam("storagevehicle_code",json.getString("storagevehicle_code"));
}*/
// 3.判断木箱是否存在未完成的盘点单
boxArr.forEach(row -> {
JSONObject json = WQL.getWO("QST_IVT_HANDMOVESTOR").addParam("flag", "8").addParam("storagevehicle_code", ((JSONObject) row).getString("storagevehicle_code")).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(json)) {
throw new BadRequestException("此木箱的盘点单据未完成:" + json.getString("storagevehicle_code"));
}
});
HashSet<String> set = new HashSet<>();
for (int i = 0; i < boxArr.size(); i++) {
set.add(boxArr.get(i).getStoragevehicle_code());
}
JSONObject checkDtl = moveStorDtlMapper.getUnFinishCheckDtl(new ArrayList<>(set));
if (ObjectUtil.isNotEmpty(checkDtl)) {
throw new BadRequestException("此木箱的盘点单据未完成:" + checkDtl.getString("storagevehicle_code"));
}
// 4.生成移库单
for (int i = 0; i < boxArr.size(); i++) {
JSONObject json = boxArr.getJSONObject(i);
Structattr json = boxArr.get(i);
// 找一个移入仓位
RawAssistIStorService rawAssistIStorService = SpringContextHolder.getBean(RawAssistIStorService.class);
JSONObject moveParamIn = new JSONObject();
moveParamIn.put("box_no", json.getString("storagevehicle_code"));
moveParamIn.put("box_no", json.getStoragevehicle_code());
moveParamIn.put("sect_id", RegionTypeEnum.ZC01.getId());
moveParamIn.put("layer_num", json.getString("layer_num"));
moveParamIn.put("layer_num", json.getLayer_num());
JSONObject jsonMoveIn = rawAssistIStorService.autoDisMove(moveParamIn);
if (ObjectUtil.isEmpty(jsonMoveIn)) {
@ -1212,17 +1200,17 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
jsonMst.put("is_task", "1");
JSONArray dtlArr = new JSONArray(); // 明细
// 组织明细
JSONArray jsonIvt = WQL.getWO("QST_IVT_HANDMOVESTOR").addParam("flag", "35").addParam("package_box_sn", json.getString("storagevehicle_code")).process().getResultJSONArray(0);
jsonIvt.forEach(row -> {
((JSONObject) row).put("wrok_status", "10");
((JSONObject) row).put("turnin_sect_id", jsonMoveIn.getString("sect_id"));
((JSONObject) row).put("turnin_sect_code", jsonMoveIn.getString("sect_code"));
((JSONObject) row).put("turnin_sect_name", jsonMoveIn.getString("sect_name"));
((JSONObject) row).put("turnin_struct_id", jsonMoveIn.getString("struct_id"));
((JSONObject) row).put("turnin_struct_code", jsonMoveIn.getString("struct_code"));
((JSONObject) row).put("turnin_struct_name", jsonMoveIn.getString("struct_name"));
List<BoxIvt> jsonIvt = moveStorDtlMapper.getStoragevehicleIvtByPackageBoxSn(json.getStoragevehicle_code());
jsonIvt.forEach(boxIvt -> {
JSONObject row = (JSONObject) JSONObject.toJSON(boxIvt);
row.put("wrok_status", "01");
row.put("turnin_sect_id", jsonMoveIn.getString("sect_id"));
row.put("turnin_sect_code", jsonMoveIn.getString("sect_code"));
row.put("turnin_sect_name", jsonMoveIn.getString("sect_name"));
row.put("turnin_struct_id", jsonMoveIn.getString("struct_id"));
row.put("turnin_struct_code", jsonMoveIn.getString("struct_code"));
row.put("turnin_struct_name", jsonMoveIn.getString("struct_name"));
dtlArr.add(row);
});
@ -1243,8 +1231,8 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
String placement_type = whereJson.getString("placement_type");
CheckOutBillServiceImpl bean = SpringContextHolder.getBean(CheckOutBillServiceImpl.class);
JSONArray jsonLockArr = new JSONArray();
//JSONArray jsonLockArr = new JSONArray();
List<Structattr> jsonLockArr = new ArrayList<>();
if (StrUtil.equals(placement_type, "01")) {
/*
* 双通
@ -1290,9 +1278,20 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
}
// 查询被阻挡需要移库的货位
isNumMap.put("flag", "6");
jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
// 查询被阻挡需要移库的货位structattrMapper
//isNumMap.put("block_num", whereJson.getString("block_num"));
//isNumMap.put("row_num", whereJson.getString("row_num"));
//isNumMap.put("out_order_seq", whereJson.getString("out_order_seq"));
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num"))
.eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit
.gt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByDesc(Structattr::getBlock_num);//neededit out_order_seq
jsonLockArr = structattrMapper.selectList(queryWrapper);
//isNumMap.put("flag", "6");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
} else if (rightNumArr.size() < leftNumArr.size()) {
/*
@ -1317,9 +1316,17 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
// 查询被阻挡需要移库的货位
isNumMap.put("flag", "7");
jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
//isNumMap.put("flag", "7");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num"))
.eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit
.lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByAsc(Structattr::getBlock_num);//neededit out_order_seq
jsonLockArr = structattrMapper.selectList(queryWrapper);
} else {
/*
* 默认从右边开始
@ -1343,8 +1350,17 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
// 查询被阻挡需要移库的货位
isNumMap.put("flag", "7");
jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
//isNumMap.put("flag", "7");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num"))
.eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit
.lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByAsc(Structattr::getBlock_num);//neededit out_order_seq
jsonLockArr = structattrMapper.selectList(queryWrapper);
}
} else if (StrUtil.equals(placement_type, "02")) {
@ -1373,8 +1389,16 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
// 查询被阻挡需要移库的货位
isNumMap.put("flag", "6");
jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
//isNumMap.put("flag", "6");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num"))
.eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit
.gt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByDesc(Structattr::getBlock_num);//neededit out_order_seq
jsonLockArr = structattrMapper.selectList(queryWrapper);
} else if (StrUtil.equals(placement_type, "03")) {
/*
@ -1404,8 +1428,17 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
// 查询被阻挡需要移库的货位
isNumMap.put("flag", "7");
jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
//isNumMap.put("flag", "7");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper<Structattr> queryWrapper = new LambdaQueryWrapper<Structattr>();
queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num"))
.eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit
.lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit
.ne( Structattr::getStoragevehicle_code,"")
.isNotNull(Structattr::getStoragevehicle_code)
.orderByAsc(Structattr::getBlock_num);//neededit out_order_seq
jsonLockArr = structattrMapper.selectList(queryWrapper);
}
/*

188
lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql

@ -188,193 +188,5 @@
ENDQUERY
ENDIF
IF 输入.flag = "33"
QUERY
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
ivt2.pcsn,
ivt2.quality_scode,
ivt2.qty_unit_id,
mu.unit_name AS qty_unit_name,
ivt2.ivt_qty AS qty,
mb.material_code,
mb.material_name,
struct.struct_id AS turnout_struct_id,
struct.struct_code AS turnout_struct_code,
struct.struct_name AS turnout_struct_name,
struct.sect_id AS turnout_sect_id,
struct.sect_name AS turnout_sect_name,
struct.sect_code AS turnout_sect_code,
struct.storagevehicle_code,
point.point_code AS start_point_code
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
LEFT JOIN SCH_BASE_Point point ON point.source_id = struct.struct_id
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = mb.base_unit_id
WHERE
1 = 1
AND struct.lock_type = '1'
AND IFNULL(struct.storagevehicle_code,'') <> ''
OPTION 输入.material_id <> ""
ivt2.material_id = 输入.material_id
ENDOPTION
OPTION 输入.remark <> ""
(mb.material_code like 输入.remark or mb.material_name like 输入.remark)
ENDOPTION
OPTION 输入.ids <> ""
struct.storagevehicle_code in (输入.ids)
ENDOPTION
OPTION 输入.struct_code <> ""
struct.struct_code like 输入.struct_code
ENDOPTION
OPTION 输入.stor_id <> ""
ivt2.stor_id = 输入.stor_id
ENDOPTION
OPTION 输入.sect_id <> ""
struct.sect_id = 输入.sect_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "35"
QUERY
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
ivt2.pcsn,
ivt2.quality_scode,
ivt2.qty_unit_id,
ivt2.ivt_qty AS qty,
mb.material_code,
mb.material_name,
struct.struct_id AS turnout_struct_id,
struct.struct_code AS turnout_struct_code,
struct.struct_name AS turnout_struct_name,
struct.sect_id AS turnout_sect_id,
struct.sect_name AS turnout_sect_name,
struct.sect_code AS turnout_sect_code,
struct.storagevehicle_id,
struct.storagevehicle_code,
mu.unit_name AS qty_unit_name,
sub.sale_order_name,
sub.customer_name,
sub.customer_description,
sub.sap_pcsn
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt2.qty_unit_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt2.pcsn AND sub.package_box_sn = struct.storagevehicle_code
WHERE
1 = 1
AND struct.lock_type = '1'
OPTION 输入.package_box_sn <> ""
sub.package_box_sn = 输入.package_box_sn
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "5"
QUERY
SELECT
ivt2.stockrecord_id,
ivt2.material_id,
ivt2.pcsn,
ivt2.quality_scode,
ivt2.qty_unit_id,
ivt2.ivt_qty AS qty,
mb.material_code,
mb.material_name,
struct.struct_id AS turnout_struct_id,
struct.struct_code AS turnout_struct_code,
struct.struct_name AS turnout_struct_name,
struct.sect_id AS turnout_sect_id,
struct.sect_name AS turnout_sect_name,
struct.sect_code AS turnout_sect_code,
struct.storagevehicle_id,
struct.storagevehicle_code,
mu.unit_name AS qty_unit_name,
sub.sale_order_name,
sub.customer_name,
sub.customer_description
FROM
st_ivt_structattr struct
INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt2.qty_unit_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt2.pcsn
WHERE
1 = 1
AND struct.lock_type = '1'
OPTION 输入.storagevehicle_code <> ""
struct.storagevehicle_code = 输入.storagevehicle_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "6"
QUERY
SELECT
attr.*
FROM
st_ivt_structattr attr
WHERE
attr.lock_type = '1'
AND attr.block_num = 输入.block_num
AND attr.row_num = 输入.row_num
AND attr.out_order_seq > 输入.out_order_seq
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
order by attr.out_order_seq DESC
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "7"
QUERY
SELECT
attr.*
FROM
st_ivt_structattr attr
WHERE
attr.lock_type = '1'
AND attr.block_num = 输入.block_num
AND attr.row_num = 输入.row_num
AND attr.out_order_seq < 输入.out_order_seq
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
order by attr.out_order_seq ASC
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "8"
QUERY
SELECT
dtl.*
FROM
st_ivt_checkdtl dtl
LEFT JOIN st_ivt_checkmst mst ON mst.check_id = dtl.check_id
WHERE
mst.is_delete = '0'
and dtl.status not in ('3','5','99')
OPTION 输入.storagevehicle_code <> ""
dtl.storagevehicle_code = 输入.storagevehicle_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

14
lms/nladmin-ui/src/views/wms/st/inStor/moveStor/AddDialog.vue

@ -71,8 +71,8 @@
>
<el-option
v-for="item in dict.ST_INV_TYPE_MV"
:disabled="item.value === '21' || item.value === '31'"
:key="item.value"
:disabled="item.value === '21' || item.value === '31'"
:label="item.label"
:value="item.value"
/>
@ -154,8 +154,8 @@
<!--左侧插槽-->
<slot name="left" />
<el-button
slot="left"
v-if="form.bill_type !== '30'"
slot="left"
class="filter-item"
type="primary"
icon="el-icon-plus"
@ -176,13 +176,13 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column key="1" type="index" label="序号" width="50" align="center" />
<el-table-column v-if="crud.status.add!==1" key="2" prop="work_status" label="状态" align="center" :formatter="bill_statusFormat"/>
<el-table-column v-if="crud.status.add!==1" key="2" prop="work_status" label="状态" align="center" :formatter="bill_statusFormat" />
<el-table-column key="3" show-overflow-tooltip prop="material_code" label="物料编码" min-width="120" align="center" />
<el-table-column key="4" show-overflow-tooltip prop="material_name" label="物料名称" align="center" min-width="120" />
<el-table-column key="5" show-overflow-tooltip prop="pcsn" label="批次号" align="center" min-width="140" />
<el-table-column key="6" show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" min-width="50" />
<el-table-column key="7" show-overflow-tooltip prop="quality_scode" label="品质类型" align="center" min-width="80" :formatter="quality_scodeFormat"/>
<el-table-column key="10" show-overflow-tooltip prop="qty" label="重量" :formatter="crud.formatNum3" min-width="80" align="center"/>
<el-table-column key="7" show-overflow-tooltip prop="quality_scode" label="品质类型" align="center" min-width="80" :formatter="quality_scodeFormat" />
<el-table-column key="10" show-overflow-tooltip prop="qty" label="重量" :formatter="crud.formatNum3" min-width="80" align="center" />
<el-table-column key="11" show-overflow-tooltip prop="storagevehicle_code" label="载具号" min-width="110" />
<el-table-column key="12" show-overflow-tooltip prop="turnout_sect_name" label="移出库区" min-width="80" />
<el-table-column key="13" show-overflow-tooltip prop="turnout_struct_code" label="移出货位" min-width="90" />
@ -409,7 +409,7 @@ export default {
}
if (!this.flagnow) {
this.$set(item, 'edit', false)
this.$set(item, 'work_status', '10')
this.$set(item, 'work_status', '01')
this.$set(item, 'turnin_sect_id', '')
this.$set(item, 'turnin_struct_id', '')
this.$set(item, 'turnin_sect_code', '')
@ -420,7 +420,7 @@ export default {
}
} else {
this.$set(item, 'edit', false)
this.$set(item, 'work_status', '10')
this.$set(item, 'work_status', '01')
this.$set(item, 'turnin_sect_id', '')
this.$set(item, 'turnin_struct_id', '')
this.$set(item, 'turnin_sect_code', '')

1
lms/nladmin-ui/src/views/wms/st/inStor/moveStor/AddDtl.vue

@ -207,7 +207,6 @@ export default {
this.crud.toQuery()
},
submit() {
debugger
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.$message('请先勾选物料')

Loading…
Cancel
Save