【admin&front】新增&优化# 1.新增小程序模块返修 2.优化配件出入库审核 3.新增后台模块返修信息
parent
5e0db033de
commit
ebde88902d
|
@ -37,6 +37,7 @@ public class MaintenanceOrderController {
|
|||
PageResult<MaintenanceOrderListVo> list = iMaintenanceOrderService.list(pageParam, maintenanceOrderParam);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检修订单详情
|
||||
*
|
||||
|
@ -44,7 +45,7 @@ public class MaintenanceOrderController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Long id) {
|
||||
MaintenanceOrderDetailVo detail = iMaintenanceOrderService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
@ -113,4 +114,16 @@ public class MaintenanceOrderController {
|
|||
iMaintenanceOrderService.returnMaintain(maintenanceOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检修订单列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param maintenanceOrderParam 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/modelRepairList")
|
||||
public Object modelRepairList(@Validated PageParam pageParam, MaintenanceOrderParam maintenanceOrderParam) {
|
||||
return AjaxResult.success(iMaintenanceOrderService.modelRepairList(pageParam, maintenanceOrderParam));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
|
|||
import com.hcy.admin.vo.order.repair.MaintenanceRepairListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -19,7 +20,7 @@ import java.util.Map;
|
|||
* 旧模块返修信息管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/repair")
|
||||
@RequestMapping("api/oldModuleRepair")
|
||||
public class MaintenanceRepairController {
|
||||
|
||||
@Resource
|
||||
|
@ -33,60 +34,9 @@ public class MaintenanceRepairController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
public Object list(@Validated PageParam pageParam, MaintenanceRepairParam params) {
|
||||
PageResult<MaintenanceRepairListVo> list = iMaintenanceRepairService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 旧模块返修信息详情
|
||||
*
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
MaintenanceRepairDetailVo detail = iMaintenanceRepairService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息新增
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "旧模块返修信息新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = MaintenanceRepairParam.create.class) @RequestBody MaintenanceRepairParam maintenanceRepairParam) {
|
||||
iMaintenanceRepairService.add(maintenanceRepairParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息编辑
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "旧模块返修信息编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = MaintenanceRepairParam.update.class) @RequestBody MaintenanceRepairParam maintenanceRepairParam) {
|
||||
iMaintenanceRepairService.edit(maintenanceRepairParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息删除
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "旧模块返修信息删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = MaintenanceRepairParam.delete.class) @RequestBody MaintenanceRepairParam maintenanceRepairParam) {
|
||||
iMaintenanceRepairService.del(maintenanceRepairParam.getId());
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
package com.hcy.admin.controller.sparePartAllot;
|
||||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.sparePartAllot.ISparePartAllotService;
|
||||
import com.hcy.admin.service.sparePartOutWarehouse.ISparePartOutWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartAllotListVo.SparePartAllotListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件调拨管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/sparePartAllot")
|
||||
public class SparePartAllotController {
|
||||
|
||||
@Resource
|
||||
ISparePartAllotService iSparePartAllotService;
|
||||
|
||||
/**
|
||||
* 备件调拨列表
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartAllotListVo> list = iSparePartAllotService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 备件调拨详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
SparePartAllotListVo detail = iSparePartAllotService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件调拨新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartAllotService.add(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件调拨编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartAllotService.edit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件调拨删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartAllotService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
|
@ -2,7 +2,7 @@ package com.hcy.admin.controller.sparePartAudit;
|
|||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.sparePartAudit.ISparePartAuditService;
|
||||
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.validate.sparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
package com.hcy.admin.controller.sparePartInWarehouse;
|
||||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.sparePartInWarehouse.ISparePartInWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartInWarehouse.SparePartInWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件入库管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/sparePartInWarehouse")
|
||||
public class SparePartInWarehouseController {
|
||||
|
||||
@Resource
|
||||
ISparePartInWarehouseService iSparePartInWarehouseService;
|
||||
|
||||
/**
|
||||
* 备件入库列表
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartInWarehouseListVo> list = iSparePartInWarehouseService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 备件入库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
SparePartInWarehouseListVo detail = iSparePartInWarehouseService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件入库新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartInWarehouseService.add(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件入库编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartInWarehouseService.edit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件入库删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartInWarehouseService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,98 +0,0 @@
|
|||
package com.hcy.admin.controller.sparePartOutWarehouse;
|
||||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.sparePartInWarehouse.ISparePartInWarehouseService;
|
||||
import com.hcy.admin.service.sparePartOutWarehouse.ISparePartOutWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartInWarehouse.SparePartInWarehouseListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件出库管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/sparePartOutWarehouse")
|
||||
public class SparePartOutWarehouseController {
|
||||
|
||||
@Resource
|
||||
ISparePartOutWarehouseService iSparePartOutWarehouseService;
|
||||
|
||||
/**
|
||||
* 备件出库列表
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartOutWarehouseListVo> list = iSparePartOutWarehouseService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 备件出库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
SparePartOutWarehouseListVo detail = iSparePartOutWarehouseService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件出库新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartOutWarehouseService.add(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件出库编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartOutWarehouseService.edit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件出库删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartOutWarehouseService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,152 +0,0 @@
|
|||
package com.hcy.admin.controller.sparePartPurchase;
|
||||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.SparePartReceive.ISparePartReceiveService;
|
||||
import com.hcy.admin.service.sparePartPurchase.ISparePartPurchaseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartPurchase.SparePartPurchaseListVo;
|
||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件采购管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/sparePartPurchase")
|
||||
public class sparePartPurchaseController {
|
||||
|
||||
@Resource
|
||||
ISparePartPurchaseService iSparePartPurchaseService;
|
||||
|
||||
/**
|
||||
* 备件采购列表
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartPurchaseListVo> list = iSparePartPurchaseService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 备件采购详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
SparePartPurchaseListVo detail = iSparePartPurchaseService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件采购新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.add(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件采购编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.edit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件采购删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购审核
|
||||
* @param sparePartStockAuditParam
|
||||
* @return
|
||||
*/
|
||||
@Log(title = "备件采购审核")
|
||||
@PostMapping("/purchaseAudit")
|
||||
public Object purchaseAudit(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.purchaseAudit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 配件采购订单列表:不查填写中状态的数据
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/purchaseOrderlist")
|
||||
public Object purchaseOrderlist(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartPurchaseListVo> list = iSparePartPurchaseService.purchaseOrderlist(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件物流发送")
|
||||
@PostMapping("/logisticsSending")
|
||||
public Object logisticsSending(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.logisticsSending(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件采购收货")
|
||||
@PostMapping("/receiving")
|
||||
public Object receiving(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartPurchaseService.receiving(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
|
@ -1,137 +0,0 @@
|
|||
package com.hcy.admin.controller.sparePartReceive;
|
||||
|
||||
import com.hcy.admin.config.aop.Log;
|
||||
import com.hcy.admin.service.SparePartReceive.ISparePartReceiveService;
|
||||
import com.hcy.admin.service.sparePartOutWarehouse.ISparePartOutWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||
import com.hcy.common.core.AjaxResult;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.validator.annotation.IDMust;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件领用管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("api/sparePartReceive")
|
||||
public class SparePartReceiveController {
|
||||
|
||||
@Resource
|
||||
ISparePartReceiveService iSparePartReceiveService;
|
||||
|
||||
/**
|
||||
* 备件领用列表
|
||||
*
|
||||
* @author hcy
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
PageResult<SparePartReceiveListVo> list = iSparePartReceiveService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
/**
|
||||
* 备件领用详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
SparePartReceiveListVo detail = iSparePartReceiveService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.add(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用编辑")
|
||||
@PostMapping("/edit")
|
||||
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.edit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
* @param sparePartStockAuditParam
|
||||
* @return
|
||||
*/
|
||||
@Log(title = "备件领用审核")
|
||||
@PostMapping("/receiveAudit")
|
||||
public Object receiveAudit(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.receiveAudit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用发送
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用发送")
|
||||
@PostMapping("/logisticsSending")
|
||||
public Object logisticsSending(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.logisticsSending(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用收货
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用收货")
|
||||
@PostMapping("/receiving")
|
||||
public Object receiving(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartReceiveService.receiving(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
|
@ -34,8 +34,7 @@ public class SparePartStockAuditController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
public Object list(@Validated PageParam pageParam, SparePartStockAuditParam params) {
|
||||
PageResult<SparePartStockAuditListVo> list = iSparePartStockAuditService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
@ -47,7 +46,7 @@ public class SparePartStockAuditController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/detail")
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||
public Object detail(@Validated @IDMust() @RequestParam("id") Long id) {
|
||||
SparePartStockAuditDetailVo detail = iSparePartStockAuditService.detail(id);
|
||||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
@ -90,7 +89,7 @@ public class SparePartStockAuditController {
|
|||
@Log(title = "备件出入库审核删除")
|
||||
@PostMapping("/del")
|
||||
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartStockAuditService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
|
||||
iSparePartStockAuditService.del(sparePartStockAuditParam.getId());
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
@ -131,4 +130,44 @@ public class SparePartStockAuditController {
|
|||
iSparePartStockAuditService.inventoryComparison(id);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
* @param sparePartStockAuditParam
|
||||
* @return
|
||||
*/
|
||||
@Log(title = "备件领用审核")
|
||||
@PostMapping("/receiveAudit")
|
||||
public Object receiveAudit(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartStockAuditService.receiveAudit(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用发送
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用发送")
|
||||
@PostMapping("/logisticsSending")
|
||||
public Object logisticsSending(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartStockAuditService.logisticsSending(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用收货
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "备件领用收货")
|
||||
@PostMapping("/receiving")
|
||||
public Object receiving(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
iSparePartStockAuditService.receiving(sparePartStockAuditParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
package com.hcy.admin.service.SparePartReceive;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件领用服务接口类
|
||||
*/
|
||||
public interface ISparePartReceiveService {
|
||||
|
||||
/**
|
||||
* 备件入库列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartReceiveListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件入库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
SparePartReceiveListVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 备件入库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void add(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void edit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void receiveAudit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void receiving(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
}
|
|
@ -1,461 +0,0 @@
|
|||
package com.hcy.admin.service.SparePartReceive.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.SparePartReceive.ISparePartReceiveService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 备件领用实现类
|
||||
*/
|
||||
@Service
|
||||
public class SparePartReceiveServiceImpl implements ISparePartReceiveService {
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartMapper sparePartMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
/**
|
||||
* 备件领用列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
|
||||
public PageResult<SparePartReceiveListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",1);
|
||||
queryWrapper.eq("out_in_warehouse_type", 2);
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"like:workOrderId@work_order_id:str",
|
||||
"like:recipient@recipient:str",
|
||||
"=:deliveryMethod@delivery_method:int",
|
||||
"datetime:handlingTimeStart-handlingTimeEnd@handling_time:str",
|
||||
"=:purchaseStatus@purchase_status:int",
|
||||
});
|
||||
//领用时间范围,配送方式查询
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartReceiveListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartReceiveListVo vo = new SparePartReceiveListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
if(item.getRecipient() != null && item.getRecipientPhone() != null){
|
||||
vo.setRecipientAndPhone(item.getRecipient() + "/" + item.getRecipientPhone()); //领料员工/联系电话
|
||||
}else{
|
||||
vo.setRecipientAndPhone("--");
|
||||
}
|
||||
int number = 0; //领用数量
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", item.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
number = number + sparePartAudit.getCount();
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
vo.setRecipientNumber(number); //领用数量
|
||||
vo.setSparePartAuditList(listVo);
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键参数
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
@Override
|
||||
public SparePartReceiveListVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartReceiveListVo vo = new SparePartReceiveListVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId()); // 备件id
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId()); // 出入库审核id
|
||||
sparePartAudit1.setUnit(sparePart.getUnit()); //单位
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
sparePartAudit1.setQuantity(sparePart.getQuantity()); //库存数量
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", sparePart.getWarehouseId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
sparePartAudit1.setWarehouseName(warehouse.getWarehouseName());
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
vo.setSparePartAuditList(listVo);
|
||||
vo.setConsigneePhone(model.getConsignee() + "/" + model.getPhone());
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> qw = new QueryWrapper<>();
|
||||
qw.select("max(id) as id");
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(qw);
|
||||
if(sparePartStockAudit == null){
|
||||
model.setId(1L);
|
||||
}else{
|
||||
Long id = sparePartStockAudit.getId() + 1;
|
||||
SparePartStockAudit idModel = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(idModel != null){
|
||||
model.setId(idModel.getId() + 1);
|
||||
}else{
|
||||
model.setId(sparePartStockAudit.getId() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别 2=员工领料,3=销售出库)
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee()); // 收货单位(人员)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||
model.setRecipient(sparePartStockAuditParam.getRecipient()); //领用员工
|
||||
model.setRecipientPhone(sparePartStockAuditParam.getRecipientPhone()); //领用员工联系电话
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username);
|
||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别 2=员工领料,3=销售出库)
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee()); // 收货单位(人员)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||
model.setRecipient(sparePartStockAuditParam.getRecipient()); //领用员工
|
||||
model.setRecipientPhone(sparePartStockAuditParam.getRecipientPhone()); //领用员工联系电话
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
List<SparePartAudit> auditList = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0));
|
||||
for (SparePartAudit sparePartAudit : auditList) {
|
||||
//将旧备件审核信息删除
|
||||
SparePartAudit delectSparePartAudit = sparePartAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(delectSparePartAudit != null){
|
||||
delectSparePartAudit.setIsDelete(1);
|
||||
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(delectSparePartAudit);
|
||||
}
|
||||
}
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
//插入新的备件审核信息
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
if(sparePartAudit.getSparePartsId() != null){
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
|
||||
}else {
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
|
||||
}
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void receiveAudit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus()); // 配件领用状态 1=未通过,2=待管理员审核
|
||||
model.setPurchaseIdea(sparePartStockAuditParam.getPurchaseIdea()); // 采购意见
|
||||
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
System.out.println("单据类型" + model.getReceiptType());
|
||||
System.out.println(model.getPurchaseStatus());
|
||||
if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
|
||||
&& model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){
|
||||
// 通过审核的出库单
|
||||
//获取备件信息
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}else{
|
||||
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
||||
}
|
||||
sparePartMapper.updateById(sparePart);
|
||||
}
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setPurchaseStatus(AuditStateEnum.WAITFORRECEIVING.getStatus()); // 采购状态 4=待收货
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void receiving(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(AuditStateEnum.DONE.getStatus()); // 采购状态 5=已完成
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统自动生成订单号:年月日+6位流水号
|
||||
* @return
|
||||
*/
|
||||
public String generateOrderNumber() {
|
||||
String DATE_FORMAT = "yyyyMMdd";
|
||||
int SEQUENCE_LENGTH = 6;
|
||||
int sequence = 1; // 流水号从1开始
|
||||
// 获取当前日期
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
//查看数据库是否今日有订单编号
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like("receipt_number",dateStr);
|
||||
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(queryWrapper);
|
||||
int max = sparePartStockAudits.size();
|
||||
if(sequence <= max){
|
||||
sequence = max + 1; // 递增流水号
|
||||
}
|
||||
|
||||
// 生成6位流水号
|
||||
StringBuilder sequenceBuilder = new StringBuilder();
|
||||
for (int i = 0; i < SEQUENCE_LENGTH; i++) {
|
||||
sequenceBuilder.append(String.format("%0" + (SEQUENCE_LENGTH - i) + "d", sequence));
|
||||
}
|
||||
String truncatedString = sequenceBuilder.substring(0, 6);
|
||||
// 拼接订单号
|
||||
String orderNumber = dateStr + truncatedString;
|
||||
|
||||
return orderNumber;
|
||||
}
|
||||
}
|
|
@ -28,7 +28,7 @@ public interface IMaintenanceOrderService {
|
|||
* @param id 主键ID
|
||||
* @return MaintenanceOrder
|
||||
*/
|
||||
MaintenanceOrderDetailVo detail(Integer id);
|
||||
MaintenanceOrderDetailVo detail(Long id);
|
||||
|
||||
/**
|
||||
* 检修订单新增
|
||||
|
@ -65,4 +65,12 @@ public interface IMaintenanceOrderService {
|
|||
*/
|
||||
void returnMaintain(MaintenanceOrderParam maintenanceOrderParam);
|
||||
|
||||
/**
|
||||
* 检修订单列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param maintenanceOrderParam 搜索参数
|
||||
* @return PageResult<MaintenanceOrderVo>
|
||||
*/
|
||||
PageResult<MaintenanceOrderListVo> modelRepairList(PageParam pageParam, MaintenanceOrderParam maintenanceOrderParam);
|
||||
}
|
||||
|
|
|
@ -20,35 +20,6 @@ public interface IMaintenanceRepairService {
|
|||
* @param params 搜索参数
|
||||
* @return PageResult<MaintenanceRepairVo>
|
||||
*/
|
||||
PageResult<MaintenanceRepairListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 旧模块返修信息详情
|
||||
*
|
||||
* @param id 主键ID
|
||||
* @return MaintenanceRepair
|
||||
*/
|
||||
MaintenanceRepairDetailVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 旧模块返修信息新增
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
*/
|
||||
void add(MaintenanceRepairParam maintenanceRepairParam);
|
||||
|
||||
/**
|
||||
* 旧模块返修信息编辑
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
*/
|
||||
void edit(MaintenanceRepairParam maintenanceRepairParam);
|
||||
|
||||
/**
|
||||
* 旧模块返修信息删除
|
||||
*
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Long id);
|
||||
PageResult<MaintenanceRepairListVo> list(PageParam pageParam, MaintenanceRepairParam params);
|
||||
|
||||
}
|
||||
|
|
|
@ -9,26 +9,32 @@ import com.hcy.admin.service.order.IMaintenanceOrderService;
|
|||
import com.hcy.admin.service.region.IDevRegionService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.order.MaintenanceOrderParam;
|
||||
import com.hcy.admin.vo.client.EquipmentDetailVo;
|
||||
import com.hcy.admin.vo.client.EquipmentModelDetailVo;
|
||||
import com.hcy.admin.vo.order.MaintenanceOrderListVo;
|
||||
import com.hcy.admin.vo.order.MaintenanceOrderDetailVo;
|
||||
import com.hcy.admin.vo.order.OrderSparePartListVo;
|
||||
import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
|
||||
import com.hcy.common.constant.GlobalConstant;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
||||
import com.hcy.common.dto.order.OrderSparePart;
|
||||
import com.hcy.common.entity.address.UserAddress;
|
||||
import com.hcy.common.entity.client.Client;
|
||||
import com.hcy.common.entity.client.ClientContacts;
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import com.hcy.common.entity.client.EquipmentModel;
|
||||
import com.hcy.common.entity.fault.Fault;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
import com.hcy.common.entity.user.User;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
import com.hcy.common.mapper.address.UserAddressMapper;
|
||||
import com.hcy.common.mapper.client.ClientContactsMapper;
|
||||
import com.hcy.common.mapper.client.ClientMapper;
|
||||
import com.hcy.common.mapper.client.EquipmentMapper;
|
||||
|
@ -36,8 +42,12 @@ import com.hcy.common.mapper.client.EquipmentModelMapper;
|
|||
import com.hcy.common.mapper.fault.FaultMapper;
|
||||
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||
import com.hcy.common.mapper.order.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.OrderUtil;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
@ -83,6 +93,15 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
@Resource
|
||||
EquipmentModelMapper equipmentModelMapper;
|
||||
|
||||
@Resource
|
||||
MaintenanceRepairMapper maintenanceRepairMapper;
|
||||
|
||||
@Resource
|
||||
UserAddressMapper userAddressMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
/**
|
||||
* 检修订单列表
|
||||
*
|
||||
|
@ -149,12 +168,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
* @return MaintenanceOrder
|
||||
*/
|
||||
@Override
|
||||
public MaintenanceOrderDetailVo detail(Integer id) {
|
||||
MaintenanceOrder model = maintenanceOrderMapper.selectOne(
|
||||
new QueryWrapper<MaintenanceOrder>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
public MaintenanceOrderDetailVo detail(Long id) {
|
||||
MaintenanceOrder model = maintenanceOrderMapper.findMaintenanceOrderById(id);
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
|
@ -164,14 +179,22 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
//设置客户信息
|
||||
Client client = clientMapper.selectById(model.getClientId());
|
||||
if (client != null) {
|
||||
vo.setClientType(client.getClientType());
|
||||
vo.setClientName(client.getClientName());
|
||||
|
||||
vo.setClientDirector(client.getDirector());
|
||||
vo.setClientPhone(client.getPhone());
|
||||
}
|
||||
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
//设置设备信息
|
||||
Equipment equipment = equipmentMapper.selectById(model.getEquipmentId());
|
||||
if(equipment != null){
|
||||
vo.setEquipment(equipment);
|
||||
EquipmentDetailVo equipmentDetailVo = new EquipmentDetailVo();
|
||||
BeanUtils.copyProperties(equipment,equipmentDetailVo);
|
||||
equipmentDetailVo.setProvince(regionMap.get(equipment.getProvinceId()));
|
||||
equipmentDetailVo.setCity(regionMap.get(equipment.getCityId()));
|
||||
equipmentDetailVo.setDistrict(regionMap.get(equipment.getDistrictId()));
|
||||
vo.setEquipment(equipmentDetailVo);
|
||||
}
|
||||
|
||||
//设置创建人姓名
|
||||
|
@ -206,10 +229,32 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
for (OrderSparePart item : orderSpareParts) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(item, orderSparePartListVo);
|
||||
Warehouse warehouse = warehouseMapper.findWarehouseById(item.getWarehouseId());
|
||||
if(warehouse != null){
|
||||
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
orderSparePartListVos.add(orderSparePartListVo);
|
||||
}
|
||||
vo.setSparePartList(orderSparePartListVos);
|
||||
|
||||
//设置返修信息
|
||||
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByOrderId(model.getId());
|
||||
if(maintenanceRepair != null){
|
||||
MaintenanceRepairDetailVo maintenanceRepairDetailVo = new MaintenanceRepairDetailVo();
|
||||
BeanUtils.copyProperties(maintenanceRepair,maintenanceRepairDetailVo);
|
||||
|
||||
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceRepair.getAddressId());
|
||||
if(userAddress != null){
|
||||
maintenanceRepairDetailVo.setAddressDetail(regionMap.get(userAddress.getProvinceId()) +
|
||||
regionMap.get(userAddress.getCityId()) +
|
||||
regionMap.get(userAddress.getDistrictId()) +
|
||||
userAddress.getAddress());
|
||||
maintenanceRepairDetailVo.setReceiver(userAddress.getContact());
|
||||
maintenanceRepairDetailVo.setReceiverPhone(userAddress.getMobile());
|
||||
}
|
||||
vo.setMaintenanceRepair(maintenanceRepairDetailVo);
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
@ -240,42 +285,13 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
model.setOrderStatus(OrderStateEnum.REPAIRER.getStatus());
|
||||
}
|
||||
|
||||
model.setOrderNo(getOrderNo());
|
||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||
model.setOrderNo(OrderUtil.getOrderNo(maintenanceOrder.getOrderNo()));
|
||||
model.setCreatorId(AdminThreadLocal.getAdminId().longValue());
|
||||
|
||||
maintenanceOrderMapper.insert(model);
|
||||
}
|
||||
|
||||
private String getOrderNo() {
|
||||
//获取当前日期并将其进行格式化
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
String formatDate = simpleDateFormat.format(new Date());
|
||||
|
||||
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
|
||||
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
|
||||
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.like(MaintenanceOrder::getOrderNo, formatDate)
|
||||
.orderByDesc(MaintenanceOrder::getOrderNo)
|
||||
.last("limit 1"));
|
||||
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
|
||||
if (lastmMaintenanceOrder == null) {
|
||||
return currentOrderNo.toString();
|
||||
} else {
|
||||
int lastOrderNo = Integer.parseInt(lastmMaintenanceOrder.getOrderNo().substring(8));
|
||||
int length = String.valueOf((lastOrderNo + 1)).length();
|
||||
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
|
||||
|
||||
//如果流水号长度小于6位,则在前面补0
|
||||
if (length < 6) {
|
||||
for (int i = 0; i < 6 - length; i++) {
|
||||
newOrderNo.insert(0, "0");
|
||||
}
|
||||
}
|
||||
|
||||
return formatDate + newOrderNo;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检修订单编辑
|
||||
*
|
||||
|
@ -374,4 +390,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<MaintenanceOrderListVo> modelRepairList(PageParam pageParam, MaintenanceOrderParam maintenanceOrderParam) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,12 +6,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import com.hcy.admin.service.order.IMaintenanceRepairService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.order.repair.MaintenanceRepairParam;
|
||||
import com.hcy.admin.vo.client.EquipmentModelDetailVo;
|
||||
import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
|
||||
import com.hcy.admin.vo.order.repair.MaintenanceRepairListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.dto.order.MaintenanceRepairDto;
|
||||
import com.hcy.common.entity.client.EquipmentModel;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import com.hcy.common.entity.user.User;
|
||||
import com.hcy.common.mapper.client.EquipmentModelMapper;
|
||||
import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
@ -28,6 +33,12 @@ public class MaintenanceRepairServiceImpl implements IMaintenanceRepairService {
|
|||
@Resource
|
||||
MaintenanceRepairMapper maintenanceRepairMapper;
|
||||
|
||||
@Resource
|
||||
EquipmentModelMapper equipmentModelMapper;
|
||||
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
/**
|
||||
* 旧模块返修信息列表
|
||||
*
|
||||
|
@ -36,114 +47,35 @@ public class MaintenanceRepairServiceImpl implements IMaintenanceRepairService {
|
|||
* @return PageResult<MaintenanceRepairListVo>
|
||||
*/
|
||||
@Override
|
||||
public PageResult<MaintenanceRepairListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
public PageResult<MaintenanceRepairListVo> list(PageParam pageParam, MaintenanceRepairParam params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<MaintenanceRepair> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
maintenanceRepairMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"=:priorityId@priority_id:long",
|
||||
"=:logisticsMode@logistics_mode:str",
|
||||
"like:expressageName@expressage_name:str",
|
||||
"=:expressageNo@expressage_no:str",
|
||||
"=:addressId@address_id:long",
|
||||
"=:moduleNo@module_no:str",
|
||||
"=:brand:str",
|
||||
"=:moduleImg@module_img:str",
|
||||
"=:creatorId@creator_id:long",
|
||||
});
|
||||
|
||||
IPage<MaintenanceRepair> iPage = maintenanceRepairMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
MaintenanceRepairDto maintenanceRepairDto = new MaintenanceRepairDto();
|
||||
BeanUtils.copyProperties(params, maintenanceRepairDto);
|
||||
IPage<MaintenanceRepairDto> iPage = maintenanceRepairMapper.list(new Page<>(page, limit), maintenanceRepairDto);
|
||||
|
||||
List<MaintenanceRepairListVo> list = new LinkedList<>();
|
||||
for(MaintenanceRepair item : iPage.getRecords()) {
|
||||
for(MaintenanceRepairDto item : iPage.getRecords()) {
|
||||
MaintenanceRepairListVo vo = new MaintenanceRepairListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(item.getCreateTime());
|
||||
|
||||
//设置设备模块信息
|
||||
EquipmentModel equipmentModel = equipmentModelMapper.findEquipmentModelByEquipmentId(item.getEquipmentId());
|
||||
EquipmentModelDetailVo equipmentModelDetailVo = new EquipmentModelDetailVo();
|
||||
if(equipmentModel != null){
|
||||
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
||||
|
||||
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
||||
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
||||
}
|
||||
//设置设备模块信息
|
||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息详情
|
||||
*
|
||||
* @param id 主键参数
|
||||
* @return MaintenanceRepair
|
||||
*/
|
||||
@Override
|
||||
public MaintenanceRepairDetailVo detail(Integer id) {
|
||||
MaintenanceRepair model = maintenanceRepairMapper.selectOne(
|
||||
new QueryWrapper<MaintenanceRepair>()
|
||||
.eq("id", id)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
MaintenanceRepairDetailVo vo = new MaintenanceRepairDetailVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息新增
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(MaintenanceRepairParam maintenanceRepairParam) {
|
||||
MaintenanceRepair model = new MaintenanceRepair();
|
||||
|
||||
BeanUtils.copyProperties(maintenanceRepairParam,model);
|
||||
|
||||
maintenanceRepairMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息编辑
|
||||
*
|
||||
* @param maintenanceRepairParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(MaintenanceRepairParam maintenanceRepairParam) {
|
||||
MaintenanceRepair model = maintenanceRepairMapper.selectOne(
|
||||
new QueryWrapper<MaintenanceRepair>()
|
||||
.eq("id", maintenanceRepairParam.getId())
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setId(maintenanceRepairParam.getId());
|
||||
model.setPriorityId(maintenanceRepairParam.getPriorityId());
|
||||
model.setLogisticsMode(maintenanceRepairParam.getLogisticsMode());
|
||||
model.setExpressName(maintenanceRepairParam.getExpressageName());
|
||||
model.setExpressNo(maintenanceRepairParam.getExpressageNo());
|
||||
model.setAddressId(maintenanceRepairParam.getAddressId());
|
||||
model.setModuleNo(maintenanceRepairParam.getModuleNo());
|
||||
model.setBrand(maintenanceRepairParam.getBrand());
|
||||
model.setModuleImg(maintenanceRepairParam.getModuleImg());
|
||||
model.setCreatorId(maintenanceRepairParam.getCreatorId());
|
||||
maintenanceRepairMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修信息删除
|
||||
*
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Long id) {
|
||||
MaintenanceRepair model = maintenanceRepairMapper.selectOne(
|
||||
new QueryWrapper<MaintenanceRepair>()
|
||||
.eq("id", id)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
maintenanceRepairMapper.delete(new QueryWrapper<MaintenanceRepair>().eq("id", id));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartAllot;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartAllotListVo.SparePartAllotListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件调拨服务接口类
|
||||
*/
|
||||
public interface ISparePartAllotService {
|
||||
|
||||
/**
|
||||
* 备件调拨列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartAllotListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartAllotListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件调拨详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
SparePartAllotListVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 备件调拨新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void add(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件调拨编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void edit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件调拨删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
}
|
|
@ -1,345 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartAllot.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.sparePartAllot.ISparePartAllotService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartAllotListVo.SparePartAllotListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 备件调拨实现类
|
||||
*/
|
||||
@Service
|
||||
public class SpareParAllotServiceImpl implements ISparePartAllotService {
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartMapper sparePartMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
/**
|
||||
* 备件调拨列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
public PageResult<SparePartAllotListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",2); //单据类型
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:auditState@audit_state:int",
|
||||
});
|
||||
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartAllotListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartAllotListVo vo = new SparePartAllotListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getImportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getExportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键参数
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
@Override
|
||||
public SparePartAllotListVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartAllotListVo vo = new SparePartAllotListVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getImportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getExportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAudit> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAudit sparePartAudit1 = new SparePartAudit();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 调拨数量
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
|
||||
vo.setSparePartAuditList(listVo); // 待入库的备件
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> qw = new QueryWrapper<>();
|
||||
qw.select("max(id) as id");
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(qw);
|
||||
if(sparePartStockAudit.getId() == null){
|
||||
model.setId(1L);
|
||||
}else{
|
||||
model.setId(sparePartStockAudit.getId() + 1);
|
||||
}
|
||||
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse()); // 调出仓库
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse()); // 调入仓库
|
||||
model.setRemark(sparePartStockAuditParam.getRemark()); // 备注
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
model.setOutInWarehouseType(AuditStateEnum.STOCK_TRANSFER.getStatus()); //入库类别(2=库存调拨)
|
||||
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username);
|
||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||
|
||||
// 审核状态
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.ALLOT.getStatus());
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
// 使用StringBuilder来拼接id值
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId()); //备件id
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件调拨数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse()); // 调出仓库
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse()); // 调入仓库
|
||||
model.setRemark(sparePartStockAuditParam.getRemark()); // 备注
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
List<SparePartAudit> auditList = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0));
|
||||
for (SparePartAudit sparePartAudit : auditList) {
|
||||
//将旧备件审核信息删除
|
||||
SparePartAudit delectSparePartAudit = sparePartAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(delectSparePartAudit != null){
|
||||
delectSparePartAudit.setIsDelete(1);
|
||||
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(delectSparePartAudit);
|
||||
}
|
||||
}
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
//插入新的备件审核信息
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
if(sparePartAudit.getSparePartsId() != null){
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
|
||||
}else {
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
|
||||
}
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件调拨数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", insertSparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
//如果是已取消状态编辑改成未审核
|
||||
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}
|
||||
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
|
||||
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus()
|
||||
&& model.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
model.setAuditResult(null);
|
||||
}
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件调拨删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 系统自动生成订单号:年月日+6位流水号
|
||||
* @return
|
||||
*/
|
||||
public String generateOrderNumber() {
|
||||
String DATE_FORMAT = "yyyyMMdd";
|
||||
int SEQUENCE_LENGTH = 6;
|
||||
int sequence = 1; // 流水号从1开始
|
||||
// 获取当前日期
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
//查看数据库是否今日有订单编号
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like("receipt_number",dateStr);
|
||||
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(queryWrapper);
|
||||
int max = sparePartStockAudits.size();
|
||||
if(sequence <= max){
|
||||
sequence = max + 1; // 递增流水号
|
||||
}
|
||||
|
||||
// 生成6位流水号
|
||||
StringBuilder sequenceBuilder = new StringBuilder();
|
||||
for (int i = 0; i < SEQUENCE_LENGTH; i++) {
|
||||
sequenceBuilder.append(String.format("%0" + (SEQUENCE_LENGTH - i) + "d", sequence));
|
||||
}
|
||||
String truncatedString = sequenceBuilder.substring(0, 6);
|
||||
// 拼接订单号
|
||||
String orderNumber = dateStr + truncatedString;
|
||||
|
||||
return orderNumber;
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
package com.hcy.admin.service.sparePartAudit;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.validate.sparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.service.sparePartAudit.ISparePartAuditService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.validate.sparePartAudit.SparePartAuditParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
@ -64,8 +64,6 @@ public class SparePartAuditServiceImpl implements ISparePartAuditService {
|
|||
for(SparePartAudit item : iPage.getRecords()) {
|
||||
SparePartAuditListVo vo = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getWarehouseId())
|
||||
|
@ -124,7 +122,6 @@ public class SparePartAuditServiceImpl implements ISparePartAuditService {
|
|||
model.setQuantity(sparePartAuditParam.getQuantity());
|
||||
model.setUnitPrice(sparePartAuditParam.getUnitPrice());
|
||||
model.setCount(sparePartAuditParam.getCount());
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
|
@ -173,7 +170,6 @@ public class SparePartAuditServiceImpl implements ISparePartAuditService {
|
|||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartInWarehouse;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartInWarehouse.SparePartInWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件入库服务接口类
|
||||
*/
|
||||
public interface ISparePartInWarehouseService {
|
||||
|
||||
/**
|
||||
* 备件入库列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartInWarehouseListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件入库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
SparePartInWarehouseListVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 备件入库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void add(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void edit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
}
|
|
@ -1,342 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartInWarehouse.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.sparePartInWarehouse.ISparePartInWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartInWarehouse.SparePartInWarehouseListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 备件入库实现类
|
||||
*/
|
||||
@Service
|
||||
public class SparePartInWarehouseServiceImpl implements ISparePartInWarehouseService {
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartMapper sparePartMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
/**
|
||||
* 备件入库列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
|
||||
public PageResult<SparePartInWarehouseListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",0);
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:warehouseId@warehouse_id:long",
|
||||
"=:outInWarehouseType@out_in_warehouse_type:long",
|
||||
"=:auditState@audit_state:int",
|
||||
});
|
||||
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartInWarehouseListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartInWarehouseListVo vo = new SparePartInWarehouseListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
vo.setSupplierPhone(item.getSupplier() + "/" + item.getPhone());
|
||||
//获取仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getWarehouseId())
|
||||
.last("limit 1"));
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键参数
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
@Override
|
||||
public SparePartInWarehouseListVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartInWarehouseListVo vo = new SparePartInWarehouseListVo();
|
||||
//获取仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getWarehouseId())
|
||||
.last("limit 1"));
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAudit> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAudit sparePartAudit1 = new SparePartAudit();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 入库数量
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
|
||||
vo.setSparePartAuditList(listVo);
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> qw = new QueryWrapper<>();
|
||||
qw.select("max(id) as id");
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(qw);
|
||||
if(sparePartStockAudit == null){
|
||||
model.setId(1L);
|
||||
}else{
|
||||
Long id = sparePartStockAudit.getId() + 1;
|
||||
SparePartStockAudit idModel = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(idModel != null){
|
||||
model.setId(idModel.getId() + 1);
|
||||
}else{
|
||||
model.setId(sparePartStockAudit.getId() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 入库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); //入库类别(0=采购入库)
|
||||
model.setSupplier(sparePartStockAuditParam.getSupplier()); //供应商
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username);
|
||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||
// 审核状态
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.IN_WAREHOUSE.getStatus());
|
||||
|
||||
//model.setSparePartAuditId(sparePartStockAuditParam.getSparePartAuditId()); // 备件审核id
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
// 使用StringBuilder来拼接id值
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId()); //备件id
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件入库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
|
||||
}
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 入库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); //出入库类别
|
||||
model.setSupplier(sparePartStockAuditParam.getSupplier()); //供应商
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber()); // 单据编号
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
List<SparePartAudit> auditList = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0));
|
||||
|
||||
for (SparePartAudit sparePartAudit : auditList) {
|
||||
//将旧备件审核信息删除
|
||||
SparePartAudit delectSparePartAudit = sparePartAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(delectSparePartAudit != null){
|
||||
delectSparePartAudit.setIsDelete(1);
|
||||
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(delectSparePartAudit);
|
||||
}
|
||||
}
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
//插入新的备件审核信息
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
if(sparePartAudit.getSparePartsId() != null){
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
|
||||
}else {
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
|
||||
}
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件入库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
//如果是已取消状态编辑改成未审核
|
||||
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}
|
||||
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
|
||||
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus()
|
||||
&& model.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
model.setAuditResult(null);
|
||||
}
|
||||
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件入库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 系统自动生成订单号:年月日+6位流水号
|
||||
* @return
|
||||
*/
|
||||
public String generateOrderNumber() {
|
||||
String DATE_FORMAT = "yyyyMMdd";
|
||||
int SEQUENCE_LENGTH = 6;
|
||||
int sequence = 1; // 流水号从1开始
|
||||
// 获取当前日期
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
//查看数据库是否今日有订单编号
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like("receipt_number",dateStr);
|
||||
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(queryWrapper);
|
||||
int max = sparePartStockAudits.size();
|
||||
if(sequence <= max){
|
||||
sequence = max + 1; // 递增流水号
|
||||
}
|
||||
|
||||
// 生成6位流水号
|
||||
StringBuilder sequenceBuilder = new StringBuilder();
|
||||
for (int i = 0; i < SEQUENCE_LENGTH; i++) {
|
||||
sequenceBuilder.append(String.format("%0" + (SEQUENCE_LENGTH - i) + "d", sequence));
|
||||
}
|
||||
String truncatedString = sequenceBuilder.substring(0, 6);
|
||||
// 拼接订单号
|
||||
String orderNumber = dateStr + truncatedString;
|
||||
|
||||
return orderNumber;
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartOutWarehouse;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.admin.vo.sparePartInWarehouse.SparePartInWarehouseListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件入库服务接口类
|
||||
*/
|
||||
public interface ISparePartOutWarehouseService {
|
||||
|
||||
/**
|
||||
* 备件入库列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartOutWarehouseListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件入库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
SparePartOutWarehouseListVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 备件入库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void add(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void edit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件入库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
}
|
|
@ -1,339 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartOutWarehouse.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.sparePartOutWarehouse.ISparePartOutWarehouseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartOutWarehouseListVo.SparePartOutWarehouseListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 备件出库实现类
|
||||
*/
|
||||
@Service
|
||||
public class SparePartOutWarehouseServiceImpl implements ISparePartOutWarehouseService {
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartMapper sparePartMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
/**
|
||||
* 备件出库列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartInWarehouseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
|
||||
public PageResult<SparePartOutWarehouseListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",1);
|
||||
queryWrapper.isNull("purchase_status");
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:warehouseId@warehouse_id:long",
|
||||
"=:outInWarehouseType@out_in_warehouse_type:long",
|
||||
"=:auditState@audit_state:int",
|
||||
});
|
||||
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartOutWarehouseListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartOutWarehouseListVo vo = new SparePartOutWarehouseListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
vo.setConsigneePhone(item.getConsignee() + "/" + item.getPhone());
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getWarehouseId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键参数
|
||||
* @return SparePartInWarehouseListVo
|
||||
*/
|
||||
@Override
|
||||
public SparePartOutWarehouseListVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartOutWarehouseListVo vo = new SparePartOutWarehouseListVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getWarehouseId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAudit> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAudit sparePartAudit1 = new SparePartAudit();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
|
||||
vo.setSparePartAuditList(listVo);
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> qw = new QueryWrapper<>();
|
||||
qw.select("max(id) as id");
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(qw);
|
||||
if(sparePartStockAudit == null){
|
||||
model.setId(1L);
|
||||
}else{
|
||||
Long id = sparePartStockAudit.getId() + 1;
|
||||
SparePartStockAudit idModel = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(idModel != null){
|
||||
model.setId(idModel.getId() + 1);
|
||||
}else{
|
||||
model.setId(sparePartStockAudit.getId() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别 2=员工领料,3=销售出库)
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee()); // 收货单位(人员)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username);
|
||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||
|
||||
// 审核状态
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId()); //备件id
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别(1=调拨出库)
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee()); // 收货单位(人员)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber()); // 单据编号
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
List<SparePartAudit> auditList = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0));
|
||||
for (SparePartAudit sparePartAudit : auditList) {
|
||||
//将旧备件审核信息删除
|
||||
SparePartAudit delectSparePartAudit = sparePartAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(delectSparePartAudit != null){
|
||||
delectSparePartAudit.setIsDelete(1);
|
||||
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(delectSparePartAudit);
|
||||
}
|
||||
}
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
//插入新的备件审核信息
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
if(sparePartAudit.getSparePartsId() != null){
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
|
||||
}else {
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
|
||||
}
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
//如果是已取消状态编辑改成未审核
|
||||
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}
|
||||
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
|
||||
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus()
|
||||
&& model.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
model.setAuditResult(null);
|
||||
}
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件出库删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 系统自动生成订单号:年月日+6位流水号
|
||||
* @return
|
||||
*/
|
||||
public String generateOrderNumber() {
|
||||
String DATE_FORMAT = "yyyyMMdd";
|
||||
int SEQUENCE_LENGTH = 6;
|
||||
int sequence = 1; // 流水号从1开始
|
||||
// 获取当前日期
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
//查看数据库是否今日有订单编号
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like("receipt_number",dateStr);
|
||||
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(queryWrapper);
|
||||
int max = sparePartStockAudits.size();
|
||||
if(sequence <= max){
|
||||
sequence = max + 1; // 递增流水号
|
||||
}
|
||||
|
||||
// 生成6位流水号
|
||||
StringBuilder sequenceBuilder = new StringBuilder();
|
||||
for (int i = 0; i < SEQUENCE_LENGTH; i++) {
|
||||
sequenceBuilder.append(String.format("%0" + (SEQUENCE_LENGTH - i) + "d", sequence));
|
||||
}
|
||||
String truncatedString = sequenceBuilder.substring(0, 6);
|
||||
// 拼接订单号
|
||||
String orderNumber = dateStr + truncatedString;
|
||||
|
||||
return orderNumber;
|
||||
}
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartPurchase;
|
||||
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.sparePartPurchase.SparePartPurchaseListVo;
|
||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 备件采购服务接口类
|
||||
*/
|
||||
public interface ISparePartPurchaseService {
|
||||
|
||||
/**
|
||||
* 备件采购列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartPurchaseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartPurchaseListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件采购详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
* @return SparePartPurchaseListVo
|
||||
*/
|
||||
SparePartPurchaseListVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 备件采购新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void add(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件采购编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
void edit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件采购删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
|
||||
/**
|
||||
* 配件采购订单列表:不查填写中状态的数据
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartPurchaseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
PageResult<SparePartPurchaseListVo> purchaseOrderlist(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 备件采购审核
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
void receiving(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
}
|
|
@ -1,607 +0,0 @@
|
|||
package com.hcy.admin.service.sparePartPurchase.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.region.IDevRegionService;
|
||||
import com.hcy.admin.service.sparePartPurchase.ISparePartPurchaseService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.sparePartPurchase.SparePartPurchaseListVo;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.client.Client;
|
||||
import com.hcy.common.entity.client.ClientContacts;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.client.ClientContactsMapper;
|
||||
import com.hcy.common.mapper.client.ClientMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 备件采购实现类
|
||||
*/
|
||||
@Service
|
||||
public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
SparePartMapper sparePartMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
@Resource
|
||||
ClientContactsMapper clientContactsMapper;
|
||||
|
||||
@Resource
|
||||
ClientMapper clientMapper;
|
||||
|
||||
@Resource
|
||||
private IDevRegionService regionService;
|
||||
|
||||
/**
|
||||
* 备件采购列表
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartPurchaseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
|
||||
public PageResult<SparePartPurchaseListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",1);
|
||||
queryWrapper.eq("out_in_warehouse_type", 3);
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:deliveryMethod@delivery_method:int",
|
||||
"like:responsiblePerson@responsible_person:str",
|
||||
"=:purchaseStatus@purchase_status:int",
|
||||
"datetime:createTimeStart-createTimeEnd@create_time:str",
|
||||
});
|
||||
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartPurchaseListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
vo.setResponsiblePersonPhone(vo.getResponsiblePerson() + "/" + vo.getPhone()); //采购人/联系电话
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", item.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
vo.setSparePartAuditList(listVo);
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购详情
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键参数
|
||||
* @return SparePartPurchaseListVo
|
||||
*/
|
||||
@Override
|
||||
public SparePartPurchaseListVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(model.getCreateTime()));
|
||||
Warehouse warehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getWarehouseId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(warehouseName != null){
|
||||
vo.setWarehouseName(warehouseName.getWarehouseName());
|
||||
}
|
||||
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId()); // 备件id
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId()); // 出入库审核id
|
||||
sparePartAudit1.setUnit(sparePart.getUnit()); //单位
|
||||
sparePartAudit1.setUnitPrice(sparePartAudit.getUnitPrice()); //销售价
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
sparePartAudit1.setQuantity(sparePart.getQuantity()); //库存数量
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", sparePart.getWarehouseId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(warehouse != null){
|
||||
sparePartAudit1.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
vo.setSparePartAuditList(listVo);
|
||||
vo.setResponsiblePersonPhone(vo.getResponsiblePerson() + "/" + vo.getPhone()); //采购人/联系电话
|
||||
|
||||
|
||||
//获取客户id
|
||||
ClientContacts clientId = clientContactsMapper.selectOne(
|
||||
new QueryWrapper<ClientContacts>()
|
||||
.eq("admin_id", model.getResponsiblePersonId())
|
||||
.last("limit 1"));
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
if(clientId != null) {
|
||||
//获取当前用户的客户,获取客户名称、地址
|
||||
Client client = clientMapper.selectOne(
|
||||
new QueryWrapper<Client>()
|
||||
.eq("id", clientId.getClientId())
|
||||
.last("limit 1"));
|
||||
vo.setClientName(client.getClientName());
|
||||
//获取客户地址
|
||||
String province = regionMap.get(client.getProvinceId());
|
||||
String city = regionMap.get(client.getCityId());
|
||||
String district = regionMap.get(client.getDistrictId());
|
||||
|
||||
vo.setClientAddress(province + city + district + client.getAddress());
|
||||
}
|
||||
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> qw = new QueryWrapper<>();
|
||||
qw.select("max(id) as id");
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(qw);
|
||||
if(sparePartStockAudit == null){
|
||||
model.setId(1L);
|
||||
}else{
|
||||
Long id = sparePartStockAudit.getId() + 1;
|
||||
SparePartStockAudit idModel = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(idModel != null){
|
||||
model.setId(idModel.getId() + 1);
|
||||
}else{
|
||||
model.setId(sparePartStockAudit.getId() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别 2=员工领料,3=销售出库)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||
model.setRemark(sparePartStockAuditParam.getRemark()); //备注
|
||||
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
//配件采购还有个暂存草稿的功能,操作后这个单还是填写中状态,不是未审核
|
||||
System.out.println(sparePartStockAuditParam.getPurchaseStatus());
|
||||
if(sparePartStockAuditParam.getPurchaseStatus() != null){
|
||||
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus());
|
||||
}else {
|
||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||
}
|
||||
|
||||
//获取当前用户id
|
||||
Integer adminId = AdminThreadLocal.getAdminId();
|
||||
model.setResponsiblePersonId(adminId);
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username); // 经办人
|
||||
model.setConsignee((String) username); // 收货单位(人员)
|
||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
// 使用StringBuilder来拼接id值
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId()); //备件id
|
||||
insertSparePartAudit.setUnitPrice(sparePartAudit.getUnitPrice());
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购编辑
|
||||
*
|
||||
* @author hcy
|
||||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 出库仓库
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType()); // 出库类别 2=员工领料,3=销售出库)
|
||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||
model.setRemark(sparePartStockAuditParam.getRemark()); //备注
|
||||
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
//配件采购还有个暂存草稿的功能,操作后这个单还是填写中状态,不是未审核
|
||||
if(sparePartStockAuditParam.getPurchaseStatus() != null){
|
||||
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus());
|
||||
}else {
|
||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||
}
|
||||
//获取当前用户id
|
||||
Integer adminId = AdminThreadLocal.getAdminId();
|
||||
model.setResponsiblePersonId(adminId);
|
||||
// 获取当前的用户
|
||||
Object username = AdminThreadLocal.get("username");
|
||||
model.setResponsiblePerson((String) username); // 经办人
|
||||
model.setConsignee((String) username); // 收货单位(人员)
|
||||
|
||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
model.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
|
||||
List<SparePartAudit> auditList = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0));
|
||||
for (SparePartAudit sparePartAudit : auditList) {
|
||||
//将旧备件审核信息删除
|
||||
SparePartAudit delectSparePartAudit = sparePartAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(delectSparePartAudit != null){
|
||||
delectSparePartAudit.setIsDelete(1);
|
||||
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.updateById(delectSparePartAudit);
|
||||
}
|
||||
}
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
//插入新的备件审核信息
|
||||
SparePartAudit insertSparePartAudit = new SparePartAudit();
|
||||
if(sparePartAudit.getSparePartsId() != null){
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
|
||||
}else {
|
||||
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
|
||||
}
|
||||
|
||||
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
|
||||
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
|
||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||
}
|
||||
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购删除
|
||||
*
|
||||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 配件采购订单列表:不查填写中状态的数据
|
||||
*
|
||||
* @param pageParam 分页参数
|
||||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartPurchaseListVo>
|
||||
* @author hcy
|
||||
*/
|
||||
@Override
|
||||
public PageResult<SparePartPurchaseListVo> purchaseOrderlist(PageParam pageParam, Map<String, String> params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("receipt_type",1);
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.ne("purchase_status", 6);
|
||||
queryWrapper.orderByDesc("id");
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:deliveryMethod@delivery_method:int",
|
||||
"like:responsiblePerson@responsible_person:str",
|
||||
"=:purchaseStatus@purchase_status:int",
|
||||
"datetime:createTimeStart-createTimeEnd@create_time:str",
|
||||
});
|
||||
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartPurchaseListVo> list = new LinkedList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||
vo.setResponsiblePersonPhone(vo.getResponsiblePerson() + "/" + vo.getPhone()); //采购人/联系电话
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", item.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||
|
||||
listVo.add(sparePartAudit1);
|
||||
}
|
||||
vo.setSparePartAuditList(listVo);
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购审核
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus()); // 配件领用状态 1=未通过,2=待管理员审核
|
||||
model.setPurchaseIdea(sparePartStockAuditParam.getPurchaseIdea()); // 采购意见
|
||||
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
|
||||
&& model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){
|
||||
// 通过审核的出库单
|
||||
//获取备件信息
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}else{
|
||||
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
||||
}
|
||||
sparePartMapper.updateById(sparePart);
|
||||
}
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setConsignerTime(new Date()); //发货时间
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setPurchaseStatus(AuditStateEnum.WAITFORRECEIVING.getStatus()); // 采购状态 4=待收货
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void receiving(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(AuditStateEnum.DONE.getStatus()); // 采购状态 5=已完成
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统自动生成订单号:年月日+6位流水号
|
||||
* @return
|
||||
*/
|
||||
public String generateOrderNumber() {
|
||||
String DATE_FORMAT = "yyyyMMdd";
|
||||
int SEQUENCE_LENGTH = 6;
|
||||
int sequence = 1; // 流水号从1开始
|
||||
// 获取当前日期
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
//查看数据库是否今日有订单编号
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like("receipt_number",dateStr);
|
||||
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(queryWrapper);
|
||||
int max = sparePartStockAudits.size();
|
||||
if(sequence <= max){
|
||||
sequence = max + 1; // 递增流水号
|
||||
}
|
||||
|
||||
// 生成6位流水号
|
||||
StringBuilder sequenceBuilder = new StringBuilder();
|
||||
for (int i = 0; i < SEQUENCE_LENGTH; i++) {
|
||||
sequenceBuilder.append(String.format("%0" + (SEQUENCE_LENGTH - i) + "d", sequence));
|
||||
}
|
||||
String truncatedString = sequenceBuilder.substring(0, 6);
|
||||
// 拼接订单号
|
||||
String orderNumber = dateStr + truncatedString;
|
||||
|
||||
return orderNumber;
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ public interface ISparePartStockAuditService {
|
|||
* @param params 搜索参数
|
||||
* @return PageResult<SparePartStockAuditVo>
|
||||
*/
|
||||
PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params);
|
||||
PageResult<SparePartStockAuditListVo> list(PageParam pageParam, SparePartStockAuditParam params);
|
||||
|
||||
/**
|
||||
* 备件出入库审核详情
|
||||
|
@ -30,7 +30,7 @@ public interface ISparePartStockAuditService {
|
|||
* @param id 主键ID
|
||||
* @return SparePartStockAudit
|
||||
*/
|
||||
SparePartStockAuditDetailVo detail(Integer id);
|
||||
SparePartStockAuditDetailVo detail(Long id);
|
||||
|
||||
/**
|
||||
* 备件出入库审核新增
|
||||
|
@ -54,7 +54,7 @@ public interface ISparePartStockAuditService {
|
|||
* @author hcy
|
||||
* @param id 主键ID
|
||||
*/
|
||||
void del(Integer id);
|
||||
void del(Long id);
|
||||
|
||||
/**
|
||||
* 备件出入库审核
|
||||
|
@ -75,4 +75,19 @@ public interface ISparePartStockAuditService {
|
|||
* @param id
|
||||
*/
|
||||
void inventoryComparison(Integer id);
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
*/
|
||||
void receiveAudit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
*/
|
||||
void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
*/
|
||||
void receiving(SparePartStockAuditParam sparePartStockAuditParam);
|
||||
}
|
||||
|
|
|
@ -1,28 +1,44 @@
|
|||
package com.hcy.admin.service.sparePartStockAudit.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.admin.AdminThreadLocal;
|
||||
import com.hcy.admin.service.sparePartStockAudit.ISparePartStockAuditService;
|
||||
import com.hcy.admin.validate.common.PageParam;
|
||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.order.OrderSparePartListVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.common.constant.GlobalConstant;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.dto.order.OrderSparePart;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
import com.hcy.common.entity.user.User;
|
||||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||
import com.hcy.common.mapper.order.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.OrderUtil;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
@ -46,6 +62,18 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
@Resource
|
||||
SparePartAuditMapper sparePartAuditMapper;
|
||||
|
||||
@Resource
|
||||
MaintenanceOrderMapper maintenanceOrderMapper;
|
||||
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
@Resource
|
||||
OrderSparePartMapper orderSparePartMapper;
|
||||
|
||||
@Resource
|
||||
SystemAuthAdminMapper systemAuthAdminMapper;
|
||||
|
||||
/**
|
||||
* 备件出入库审核列表
|
||||
*
|
||||
|
@ -55,72 +83,106 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
* @return PageResult<SparePartStockAuditListVo>
|
||||
*/
|
||||
@Override
|
||||
public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, SparePartStockAuditParam params) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.isNull("purchase_status");
|
||||
queryWrapper.or();
|
||||
queryWrapper.notIn("purchase_status", 0,1,6);
|
||||
queryWrapper.orderByDesc("id");
|
||||
// purchase_status IS NULL OR purchase_status NOT IN (0, 1, 6);
|
||||
|
||||
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||
"like:receiptNumber@receipt_number:str",
|
||||
"=:receiptType@receipt_type:long",
|
||||
"=:outInWarehouseType@out_in_warehouse_type:long",
|
||||
"=:auditState@audit_state:int",
|
||||
});
|
||||
LambdaQueryWrapper<SparePartStockAudit> queryWrapper = new LambdaQueryWrapper<SparePartStockAudit>()
|
||||
.eq(SparePartStockAudit::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(params.getReceiptType() != null, SparePartStockAudit::getReceiptType, params.getReceiptType())
|
||||
.eq(params.getOutInWarehouseType() != null, SparePartStockAudit::getOutInWarehouseType, params.getOutInWarehouseType())
|
||||
.eq(StringUtils.isNotEmpty(params.getReceiptNumber()), SparePartStockAudit::getReceiptNumber, params.getReceiptNumber())
|
||||
.eq(params.getAuditState() != null, SparePartStockAudit::getAuditState, params.getAuditState())
|
||||
.eq(params.getWarehouseId() != null,SparePartStockAudit::getWarehouseId,params.getWarehouseId())
|
||||
.orderByDesc(SparePartStockAudit::getCreateTime);
|
||||
|
||||
//领用时间范围,配送方式查询
|
||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
List<SparePartStockAuditListVo> list = new LinkedList<>();
|
||||
long total = 0;//总查询数
|
||||
List<SparePartStockAuditListVo> list = new ArrayList<>();
|
||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||
SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||
vo.setAuditTime(TimeUtil.timestampToDate(item.getAuditTime()));
|
||||
//获取仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getWarehouseId())
|
||||
.last("limit 1"));
|
||||
if (warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getImportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(importWarehouseName != null){
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
}
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", item.getExportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(exportWarehouseName != null){
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
|
||||
vo.setRecipientAndPhone(item.getRecipient() + "/" + item.getRecipientPhone()); //领料员工/联系电话
|
||||
vo.setSupplierPhone(item.getSupplier() + "/" + item.getPhone()); //领料员工/联系电话
|
||||
|
||||
if(item.getOrderType() != null){
|
||||
User user = userMapper.selectById(item.getCreatorId());
|
||||
vo.setCreator(user.getUsername());
|
||||
}else{
|
||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(item.getCreatorId());
|
||||
if(systemAuthAdmin != null){
|
||||
vo.setCreator(systemAuthAdmin.getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
int number = 0; //领用数量
|
||||
|
||||
if(item.getOrderType() != null && item.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(item.getOrderId());
|
||||
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||
|
||||
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
||||
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByMaintenanceOrderId(item.getOrderId());
|
||||
for (OrderSparePart orderSparePart : orderSparePartList) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
|
||||
orderSparePartListVoList.add(orderSparePartListVo);
|
||||
|
||||
number += orderSparePart.getQuantity();
|
||||
}
|
||||
|
||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
|
||||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
vo.setRecipientNumber(number);
|
||||
}else{
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", item.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePartAuditListVo sparePartAuditListVo = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePartAudit, sparePartAuditListVo);
|
||||
|
||||
number += sparePartAudit.getCount();
|
||||
listVo.add(sparePartAuditListVo);
|
||||
}
|
||||
vo.setRecipientNumber(number); //领用数量
|
||||
vo.setSparePartAuditList(listVo);
|
||||
}
|
||||
|
||||
//设置仓库名称
|
||||
if(AuditStateEnum.ALLOT.getStatus() == item.getOutInWarehouseType()){
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.findWarehouseById(item.getImportWarehouse());
|
||||
if(importWarehouseName != null){
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
}
|
||||
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(item.getExportWarehouse());
|
||||
if(exportWarehouseName != null){
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
}
|
||||
}else{
|
||||
Long warehouseId = item.getWarehouseId();
|
||||
if(item.getImportWarehouse() != null){
|
||||
warehouseId = item.getImportWarehouse();
|
||||
}else{
|
||||
warehouseId = item.getExportWarehouse();
|
||||
}
|
||||
Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId);
|
||||
if(warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
}
|
||||
|
||||
// //采购/领用单状态是待管理员审核才能显示
|
||||
// if(item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.UNREVIEWED.getStatus()){
|
||||
// System.out.println(item.getId() + "采购/领用状态是未审核不显示");
|
||||
// }else if (item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.NOTPASSSTATE.getStatus() && item.getAuditResult() == null){
|
||||
// System.out.println(item.getId() + "采购/领用状态是审核未通过不显示");
|
||||
// }else if(item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.FILLINGOUT.getStatus()){
|
||||
// System.out.println(item.getId() + "采购/领用状态是填写中不显示");
|
||||
// }else {
|
||||
// list.add(vo);
|
||||
// total = total + 1;
|
||||
// }
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
|
@ -135,83 +197,69 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
* @return SparePartStockAudit
|
||||
*/
|
||||
@Override
|
||||
public SparePartStockAuditDetailVo detail(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
public SparePartStockAuditDetailVo detail(Long id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.findSparePartStockAuditById(id);
|
||||
Assert.notNull(model, "数据不存在");
|
||||
|
||||
SparePartStockAuditDetailVo vo = new SparePartStockAuditDetailVo();
|
||||
//获取仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getWarehouseId())
|
||||
.last("limit 1"));
|
||||
if (warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
|
||||
//判断是否是调拨单
|
||||
if(model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()){
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getImportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", model.getExportWarehouse())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(model.getOrderId());
|
||||
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||
|
||||
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||
sparePartAudit1.setId(sparePartAudit.getId());
|
||||
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||
sparePartAudit1.setCount(sparePartAudit.getCount()); // 入库数量
|
||||
//获取仓库名称
|
||||
Warehouse warehouseName = warehouseMapper.selectOne(
|
||||
new QueryWrapper<Warehouse>()
|
||||
.eq("id", sparePart.getWarehouseId())
|
||||
.last("limit 1"));
|
||||
if (warehouseName != null){
|
||||
sparePartAudit1.setWarehouseName(warehouseName.getWarehouseName());
|
||||
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
||||
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByMaintenanceOrderId(model.getOrderId());
|
||||
for (OrderSparePart orderSparePart : orderSparePartList) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
|
||||
orderSparePartListVoList.add(orderSparePartListVo);
|
||||
}
|
||||
listVo.add(sparePartAudit1);
|
||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
|
||||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
}else{
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> sparePartAuditList = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId());
|
||||
//获取备件信息
|
||||
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
SparePartAuditListVo sparePartAuditListVo = new SparePartAuditListVo();
|
||||
BeanUtils.copyProperties(sparePartAudit, sparePartAuditListVo);
|
||||
|
||||
listVo.add(sparePartAuditListVo);
|
||||
}
|
||||
vo.setSparePartAuditList(listVo);
|
||||
}
|
||||
vo.setSupplierPhone(model.getSupplier() + "/" + model.getPhone()); // 供应商/电话
|
||||
vo.setConsigneePhone(model.getConsignee() + "/" + model.getPhone()); // 收货单位(人员)/电话
|
||||
|
||||
vo.setSparePartAuditList(listVo);
|
||||
vo.setHandlingTime(TimeUtil.timestampToDate(model.getHandlingTime())); //经办时间
|
||||
//设置仓库名称
|
||||
if(AuditStateEnum.ALLOT.getStatus() == model.getOutInWarehouseType()){
|
||||
// 调入仓库名
|
||||
Warehouse importWarehouseName = warehouseMapper.findWarehouseById(model.getImportWarehouse());
|
||||
if(importWarehouseName != null){
|
||||
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
|
||||
}
|
||||
|
||||
// 调出仓库名
|
||||
Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(model.getExportWarehouse());
|
||||
if(exportWarehouseName != null){
|
||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||
}
|
||||
}else{
|
||||
Long warehouseId = model.getWarehouseId();
|
||||
if(model.getImportWarehouse() != null){
|
||||
warehouseId = model.getImportWarehouse();
|
||||
}else{
|
||||
warehouseId = model.getExportWarehouse();
|
||||
}
|
||||
Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId);
|
||||
if(warehouse != null){
|
||||
vo.setWarehouseName(warehouse.getWarehouseName());
|
||||
}
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
@ -222,25 +270,38 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
* @param sparePartStockAuditParam 参数
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = new SparePartStockAudit();
|
||||
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber());
|
||||
model.setReceiptType(sparePartStockAuditParam.getReceiptType());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId());
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse());
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse());
|
||||
model.setSupplier(sparePartStockAuditParam.getSupplier());
|
||||
model.setResponsiblePerson(sparePartStockAuditParam.getResponsiblePerson());
|
||||
model.setHandlingTime(sparePartStockAuditParam.getHandlingTime().getTime());
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType());
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee());
|
||||
model.setAuditState(sparePartStockAuditParam.getAuditState());
|
||||
model.setAuditResult(sparePartStockAuditParam.getAuditResult());
|
||||
model.setAuditTime(sparePartStockAuditParam.getAuditTime().getTime());
|
||||
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea());
|
||||
model.setPhone(sparePartStockAuditParam.getPhone());
|
||||
model.setRemark(sparePartStockAuditParam.getRemark());
|
||||
BeanUtils.copyProperties(sparePartStockAuditParam, model);
|
||||
|
||||
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||
model.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit == null ? "" : lastSparePartStockAudit.getReceiptNumber())); // 单据编号
|
||||
|
||||
// 获取当前的用户
|
||||
model.setCreatorId(AdminThreadLocal.getAdminId());
|
||||
|
||||
if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()){
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||
}else if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.IN_WAREHOUSE.getStatus()){
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||
}else if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.ALLOT.getStatus()){
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.insert(model);
|
||||
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
for (SparePartAudit item : sparePartAuditList) {
|
||||
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
|
||||
SparePartAudit sparePartAudit = new SparePartAudit();
|
||||
BeanUtils.copyProperties(sparePart, sparePartAudit);
|
||||
sparePartAudit.setId(null);
|
||||
sparePartAudit.setStockAuditId(model.getId());
|
||||
sparePartAudit.setCount(item.getCount());
|
||||
sparePartAuditMapper.insert(sparePartAudit);//插入备件审核信息
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -251,31 +312,36 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
*/
|
||||
@Override
|
||||
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.findSparePartStockAuditById(sparePartStockAuditParam.getId());
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setId(sparePartStockAuditParam.getId());
|
||||
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber());
|
||||
model.setReceiptType(sparePartStockAuditParam.getReceiptType());
|
||||
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId());
|
||||
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse());
|
||||
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse());
|
||||
model.setSupplier(sparePartStockAuditParam.getSupplier());
|
||||
model.setResponsiblePerson(sparePartStockAuditParam.getResponsiblePerson());
|
||||
model.setHandlingTime(sparePartStockAuditParam.getHandlingTime().getTime());
|
||||
model.setOutInWarehouseType(sparePartStockAuditParam.getOutInWarehouseType());
|
||||
model.setConsignee(sparePartStockAuditParam.getConsignee());
|
||||
model.setAuditState(sparePartStockAuditParam.getAuditState());
|
||||
model.setAuditResult(sparePartStockAuditParam.getAuditResult());
|
||||
model.setAuditTime(sparePartStockAuditParam.getAuditTime().getTime());
|
||||
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea());
|
||||
model.setPhone(sparePartStockAuditParam.getPhone());
|
||||
model.setRemark(sparePartStockAuditParam.getRemark());
|
||||
//删除已保存的备件信息
|
||||
List<SparePartAudit> sparePartAudits = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId());
|
||||
for (SparePartAudit sparePartAudit : sparePartAudits) {
|
||||
sparePartAudit.setIsDelete(GlobalConstant.DELETE);
|
||||
sparePartAuditMapper.updateById(sparePartAudit);
|
||||
}
|
||||
|
||||
//新增新编辑备件信息
|
||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||
for (SparePartAudit sparePartAudit : sparePartAuditList) {
|
||||
sparePartAudit.setStockAuditId(model.getId());
|
||||
sparePartAuditMapper.insert(sparePartAudit);
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(model,sparePartStockAuditParam);
|
||||
|
||||
//如果是已取消状态编辑改成未审核
|
||||
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}
|
||||
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
|
||||
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus()
|
||||
&& model.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
model.setAuditResult(null);
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
@ -286,17 +352,12 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
* @param id 主键ID
|
||||
*/
|
||||
@Override
|
||||
public void del(Integer id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", id)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
public void del(Long id) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.findSparePartStockAuditById(id);
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setIsDelete(1);
|
||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||
model.setIsDelete(GlobalConstant.NOT_DELETE);
|
||||
model.setDeleteTime(new Date());
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
@ -433,7 +494,6 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setAuditState(AuditStateEnum.CANCELED.getStatus()); //取消审核
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
@ -492,4 +552,96 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用审核
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void receiveAudit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.findSparePartStockAuditById(sparePartStockAuditParam.getId());
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus()); // 配件领用状态 1=未通过,2=待管理员审核
|
||||
model.setPurchaseIdea(sparePartStockAuditParam.getPurchaseIdea()); // 采购意见
|
||||
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
new QueryWrapper<SparePartAudit>()
|
||||
.eq("stock_audit_id", model.getId())
|
||||
.eq("is_delete", 0)
|
||||
);
|
||||
|
||||
|
||||
if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
|
||||
&& model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){
|
||||
// 通过审核的出库单
|
||||
//获取备件信息
|
||||
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||
SparePart sparePart = sparePartMapper.selectOne(
|
||||
new QueryWrapper<SparePart>()
|
||||
.eq("id", sparePartAudit.getSparePartsId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}else{
|
||||
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
||||
}
|
||||
sparePartMapper.updateById(sparePart);
|
||||
}
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件物流发送
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||
model.setPurchaseStatus(AuditStateEnum.WAITFORRECEIVING.getStatus()); // 采购状态 4=待收货
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件采购收货
|
||||
*
|
||||
* @param sparePartStockAuditParam
|
||||
*/
|
||||
@Override
|
||||
public void receiving(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||
new QueryWrapper<SparePartStockAudit>()
|
||||
.eq("id", sparePartStockAuditParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setPurchaseStatus(AuditStateEnum.DONE.getStatus()); // 采购状态 5=已完成
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ public class MaintenanceRepairParam implements Serializable {
|
|||
|
||||
@NotNull(message = "addressId参数缺失", groups = {create.class, update.class})
|
||||
@DecimalMin(value = "0", message = "addressId参数值不能少于0", groups = {create.class, update.class})
|
||||
private Long addressId;
|
||||
private Integer addressId;
|
||||
|
||||
@NotNull(message = "moduleNo参数缺失", groups = {create.class, update.class})
|
||||
@Length(max = 50, message = "moduleNo参数不能超出50个字符", groups = {create.class, update.class})
|
||||
|
@ -60,4 +60,6 @@ public class MaintenanceRepairParam implements Serializable {
|
|||
@DecimalMin(value = "0", message = "creatorId参数值不能少于0", groups = {create.class, update.class})
|
||||
private Long creatorId;
|
||||
|
||||
private String clientName; //客户姓名
|
||||
private String receiverName; //接单人
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.hcy.admin.validate.SparePartAudit;
|
||||
package com.hcy.admin.validate.sparePartAudit;
|
||||
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.hibernate.validator.constraints.Length;
|
|
@ -4,6 +4,7 @@ import lombok.Data;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* SparePartAuditVo
|
||||
|
@ -23,8 +24,8 @@ public class SparePartAuditListVo implements Serializable {
|
|||
private String unit; // 单位
|
||||
private Integer quantity; // 库存数量
|
||||
private BigDecimal unitPrice; // 单价(元)
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||
private Date createTime; // 创建时间
|
||||
private String warehouseName; // 所属仓库名
|
||||
private Integer count; // 出入库数量
|
||||
}
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
package com.hcy.admin.vo.SparePartOutWarehouseListVo;
|
||||
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* sparePartOutWarehouseListVo
|
||||
*/
|
||||
@Data
|
||||
public class SparePartOutWarehouseListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Long warehouseId; // 所属仓库
|
||||
private String consignee; // 收货单位(人员)
|
||||
private String phone; // 联系电话
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private Long auditTime; // 审核时间
|
||||
private String auditIdea; // 审核意见
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private String consigneePhone; // 收货单位(人员)/电话
|
||||
private List<SparePartAudit> sparePartAuditList; //待入库的备件
|
||||
private String warehouseName; // 所属仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package com.hcy.admin.vo.order;
|
||||
|
||||
import com.hcy.admin.vo.client.EquipmentDetailVo;
|
||||
import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import lombok.Data;
|
||||
|
||||
|
@ -26,7 +27,7 @@ public class MaintenanceOrderDetailVo implements Serializable {
|
|||
private Long faultId; // 故障id
|
||||
private String faultDescription; // 故障描述
|
||||
private String faultImg; // 故障图片
|
||||
private Long receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||
private Long provinceId; // 省id
|
||||
private Long cityId; // 市id
|
||||
private Long districtId; // 区id
|
||||
|
@ -45,16 +46,21 @@ public class MaintenanceOrderDetailVo implements Serializable {
|
|||
private Long familiarFaultId; // 常见维修结论id
|
||||
private String familiarFaultDescription; // 常见维修结论描述
|
||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||
private Integer isMaintain; //是否维修 0-维修 1-不维修
|
||||
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private Date createTime; // 创建时间
|
||||
|
||||
private String clientName; // 客户姓名
|
||||
private String clientDirector; // 客户负责人姓名
|
||||
private String clientPhone; //客户电话
|
||||
|
||||
private Equipment equipment; //设备信息
|
||||
private EquipmentDetailVo equipment; //设备信息
|
||||
private String faultName; //故障名称
|
||||
private String creatorName; // 创建人姓名
|
||||
private String receiverName; // 接单人姓名
|
||||
private String receiverPhone; //接单人手机
|
||||
private Integer clientType; //维修类型
|
||||
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
||||
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
|
||||
}
|
||||
|
|
|
@ -55,11 +55,6 @@ public class MaintenanceOrderListVo implements Serializable {
|
|||
private String clientName; // 客户姓名
|
||||
private String creatorName; // 创建人姓名
|
||||
private String receiverName; // 接单人姓名
|
||||
<<<<<<< Updated upstream
|
||||
private String shortName; //客户简称
|
||||
|
||||
=======
|
||||
|
||||
private EquipmentModelDetailVo equipmentModel; //设备模块信息
|
||||
>>>>>>> Stashed changes
|
||||
}
|
||||
|
|
|
@ -25,4 +25,5 @@ public class OrderSparePartListVo implements Serializable {
|
|||
private Integer quantity; // 数量
|
||||
private BigDecimal totalPrice; // 总价
|
||||
|
||||
private String warehouseName; //仓库名称
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package com.hcy.admin.vo.order.repair;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* MaintenanceRepairVo
|
||||
|
@ -12,15 +15,22 @@ public class MaintenanceRepairDetailVo implements Serializable {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // id
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private String logisticsMode; // 物流方式
|
||||
private String expressageName; // 快递名称
|
||||
private String expressageNo; // 快递单号
|
||||
private Long addressId; // 回寄地址
|
||||
private Long maintenanceOrderId; //检修单id
|
||||
private Long priority; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Integer addressId; // 回寄地址
|
||||
private String moduleNo; // 模块号
|
||||
private String brand; // 品牌号
|
||||
private String moduleImg; // 模块图片
|
||||
private Long creatorId; // 创建人id
|
||||
|
||||
private Date createTime; // 创建时间
|
||||
private String addressDetail; //地址详情
|
||||
private String receiver; // 收件人
|
||||
private String receiverPhone; // 收件人电话
|
||||
private Integer isReturn; //是否回寄 0-是 1-不回寄
|
||||
private String faultDescription; //故障详情
|
||||
private String remark; //备注
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hcy.admin.vo.order.repair;
|
||||
|
||||
import com.hcy.admin.vo.client.EquipmentModelDetailVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -14,8 +15,9 @@ public class MaintenanceRepairListVo implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // id
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private String logisticsMode; // 物流方式
|
||||
private Long maintenanceOrderId; //检修单id
|
||||
private Long priority; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Long addressId; // 回寄地址
|
||||
|
@ -25,4 +27,12 @@ public class MaintenanceRepairListVo implements Serializable {
|
|||
private Long creatorId; // 创建人id
|
||||
private Date createTime; // 创建时间
|
||||
|
||||
private String orderNo; //工单号
|
||||
private Integer equipmentId; //设备id
|
||||
private String clientName; //客户姓名
|
||||
private String receiverName; //接单人
|
||||
private String equipmentName; //设备名称
|
||||
private String director; //负责人
|
||||
private String phone; //负责人电话
|
||||
private EquipmentModelDetailVo equipmentModel;
|
||||
}
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
package com.hcy.admin.vo.sparePartAllotListVo;
|
||||
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* sparePartAllotListVo
|
||||
*/
|
||||
@Data
|
||||
public class SparePartAllotListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Long importWarehouse; // 调入仓库
|
||||
private Long exportWarehouse; // 调出仓库
|
||||
private String remark; // 备注
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private Long auditTime; // 审核时间
|
||||
private String auditIdea; // 审核意见
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private List<SparePartAudit> sparePartAuditList; //待入库的备件
|
||||
private String importWarehouseName; // 调入仓库名
|
||||
private String exportWarehouseName; // 调出仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
package com.hcy.admin.vo.sparePartInWarehouse;
|
||||
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* sparePartInWarehouseListVo
|
||||
*/
|
||||
@Data
|
||||
public class SparePartInWarehouseListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Long warehouseId; // 所属仓库
|
||||
private String supplier; // 供应商
|
||||
private String phone; // 联系电话
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private Long auditTime; // 审核时间
|
||||
private String auditIdea; // 审核意见
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private String supplierPhone; // 供应商/电话
|
||||
private List<SparePartAudit> sparePartAuditList; //待入库的备件
|
||||
private String warehouseName; // 所属仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
package com.hcy.admin.vo.sparePartPurchase;
|
||||
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* SparePartPurchaseListVo
|
||||
*/
|
||||
@Data
|
||||
public class SparePartPurchaseListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
private Long warehouseId; // 所属仓库
|
||||
private String consignee; // 收货单位(人员)
|
||||
private String phone; // 联系电话
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private Long auditTime; // 审核时间
|
||||
private String auditIdea; // 审核意见
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private String consigneePhone; // 收货单位(人员)/电话
|
||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||
private String warehouseName; // 所属仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
private String remark; // 备注
|
||||
|
||||
|
||||
private Integer purchaseStatus; //配件状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成,6=填写中,7=收货超期)
|
||||
private String shippingAddress; //收货地址
|
||||
private String consigner; //发货人
|
||||
private String consignerPhone; //发货人联系电话
|
||||
private String shipAddress; //发货地址
|
||||
private String logisticsCompany; //物流公司
|
||||
private String trackingNumber; //物流编号
|
||||
private Integer deliveryMethod; //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
private String responsiblePersonPhone; //采购人/联系电话
|
||||
private String createTimeStart;
|
||||
private String createTimeEnd;
|
||||
private String purchaseIdea; //采购意见
|
||||
private String clientName; // 客户名称
|
||||
private String clientAddress; // 客户地址
|
||||
private Date consignerTime; //发货时间
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
package com.hcy.admin.vo.sparePartReceive;
|
||||
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* SparePartReceiveListVo
|
||||
*/
|
||||
@Data
|
||||
public class SparePartReceiveListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
private Long warehouseId; // 所属仓库
|
||||
private String consignee; // 收货单位(人员)
|
||||
private String phone; // 联系电话
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private Long auditTime; // 审核时间
|
||||
private String auditIdea; // 审核意见
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private String consigneePhone; // 收货单位(人员)/电话
|
||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||
private String warehouseName; // 所属仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
|
||||
|
||||
private String workOrderId; //工单号
|
||||
private String recipient; //领用员工
|
||||
private String recipientPhone; //领用员工联系电话
|
||||
private Integer recipientNumber; //领用数量
|
||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||
private String shippingAddress; //收货地址
|
||||
private String consigner; //发货人
|
||||
private String consignerPhone; //发货人联系电话
|
||||
private String shipAddress; //发货地址
|
||||
private String logisticsCompany; //物流公司
|
||||
private String trackingNumber; //物流编号
|
||||
private Integer deliveryMethod; //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||
private String recipientAndPhone; //领用员工/联系电话
|
||||
private String handlingTimeStart;
|
||||
private String handlingTimeEnd;
|
||||
}
|
|
@ -1,12 +1,14 @@
|
|||
package com.hcy.admin.vo.sparePartStockAudit;
|
||||
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.order.OrderSparePartListVo;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -19,11 +21,12 @@ public class SparePartStockAuditDetailVo implements Serializable {
|
|||
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Long orderId; //订单编
|
||||
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
private Long warehouseId; // 所属仓库
|
||||
private Long importWarehouse; // 调入仓库
|
||||
private Long exportWarehouse; // 调出仓库
|
||||
private String supplier; // 供应商
|
||||
private Long supplier; // 供应商
|
||||
private String responsiblePerson; // 经办人
|
||||
private String handlingTime; // 经办时间
|
||||
private String consignee; // 收货单位(人员)
|
||||
|
@ -37,12 +40,10 @@ public class SparePartStockAuditDetailVo implements Serializable {
|
|||
private String warehouseName; // 所属仓库名
|
||||
private String importWarehouseName; // 调入仓库名
|
||||
private String exportWarehouseName; // 调出仓库名
|
||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
private Integer outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
private String supplierPhone; // 供应商/电话
|
||||
private String consigneePhone; // 收货单位(人员)/电话
|
||||
private String workOrderId; //工单号
|
||||
private String orderId; //订单编号
|
||||
private String shippingAddress; //收货地址
|
||||
private String consigner; //发货人
|
||||
private String consignerPhone; //发货人联系电话
|
||||
|
@ -55,5 +56,11 @@ public class SparePartStockAuditDetailVo implements Serializable {
|
|||
private String recipientPhone; //领用员工联系电话
|
||||
private Integer recipientNumber; //领用数量
|
||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||
private Date createTime; // 创建时间
|
||||
private Integer orderType; // 0-检修工单 1-维修工单
|
||||
|
||||
private String workOrderNo; //工单号
|
||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||
private List<OrderSparePartListVo> orderSparePartListVoList; //订单配件
|
||||
private String recipientAndPhone; //领用员工/联系电话
|
||||
}
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package com.hcy.admin.vo.sparePartStockAudit;
|
||||
|
||||
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
|
||||
import com.hcy.admin.vo.order.OrderSparePartListVo;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -27,17 +30,15 @@ public class SparePartStockAuditListVo implements Serializable {
|
|||
private String consignee; // 收货单位(人员)
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
private Integer auditResult; // 审核结果(0=已通过,1=未通过)
|
||||
private String auditTime; // 审核时间
|
||||
private String createTime; // 创建时间
|
||||
private String updateTime; // 更新时间
|
||||
private Date auditTime; // 审核时间
|
||||
private Date createTime; // 创建时间
|
||||
private Date updateTime; // 更新时间
|
||||
private String sparePartAuditId; // 备件审核id
|
||||
private String consigneePhone; // 收货单位(人员)/电话
|
||||
private String supplierPhone; // 供应商/电话
|
||||
private List<SparePartAudit> sparePartAuditList; //待入库的备件
|
||||
private String warehouseName; // 所属仓库名
|
||||
private String importWarehouseName; // 调入仓库名
|
||||
private String exportWarehouseName; // 调出仓库名
|
||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
private Integer outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
|
||||
private String workOrderId; //工单号
|
||||
private String orderId; //订单编号
|
||||
|
@ -54,4 +55,10 @@ public class SparePartStockAuditListVo implements Serializable {
|
|||
private Integer recipientNumber; //领用数量
|
||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||
|
||||
private String workOrderNo; //工单号
|
||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||
private List<OrderSparePartListVo> orderSparePartListVoList; //订单配件
|
||||
private String recipientAndPhone; //领用员工/联系电话
|
||||
private String supplierPhone; // 供应商/电话
|
||||
private String creator; // 创建人
|
||||
}
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.hcy.common.dto.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 旧模块返修信息实体
|
||||
*/
|
||||
@Data
|
||||
public class MaintenanceRepairDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // id
|
||||
private Long maintenanceOrderId; //检修单id
|
||||
private Long priority; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Integer addressId; // 回寄地址
|
||||
private Integer isReturn; //是否回寄 0-是 1-不回寄
|
||||
private String moduleNo; // 模块号
|
||||
private String brand; // 品牌号
|
||||
private String moduleImg; // 模块图片
|
||||
private String faultDescription; //故障详情
|
||||
private String remark; //备注
|
||||
private Date createTime; // 创建时间
|
||||
|
||||
private String orderNo; //工单号
|
||||
private Long equipmentId; //设备id
|
||||
private String clientName; //客户姓名
|
||||
private String receiverName; //接单人
|
||||
private String equipmentName; //设备名称
|
||||
private String director; //负责人
|
||||
private String phone; //负责人电话
|
||||
}
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 备件审核实体
|
||||
|
@ -27,9 +28,7 @@ public class SparePartAudit implements Serializable {
|
|||
private Integer quantity; // 库存数量
|
||||
private BigDecimal unitPrice; // 单价(元)
|
||||
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||
private Long createTime; // 创建时间
|
||||
private Long updateTime; // 更新时间
|
||||
private Long deleteTime; // 删除时间
|
||||
private Date createTime; // 创建时间
|
||||
private Integer count; // 出入库数量
|
||||
|
||||
}
|
|
@ -17,15 +17,18 @@ public class MaintenanceRepair implements Serializable {
|
|||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // id
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private String logisticsMode; // 物流方式
|
||||
private Long maintenanceOrderId; //检修单id
|
||||
private Long priority; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Long addressId; // 回寄地址
|
||||
private Integer addressId; // 回寄地址
|
||||
private Integer isReturn; //是否回寄 0-是 1-不回寄
|
||||
private String moduleNo; // 模块号
|
||||
private String brand; // 品牌号
|
||||
private String moduleImg; // 模块图片
|
||||
private Long creatorId; // 创建人id
|
||||
private String faultDescription; //故障详情
|
||||
private String remark; //备注
|
||||
private Date createTime; // 创建时间
|
||||
|
||||
}
|
|
@ -21,13 +21,12 @@ public class SparePartStockAudit implements Serializable {
|
|||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // 主键id
|
||||
private String receiptNumber; // 单据编号
|
||||
private Long orderId; //订单编号
|
||||
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||
private Long warehouseId; // 所属仓库
|
||||
private Long importWarehouse; // 调入仓库
|
||||
private Long exportWarehouse; // 调出仓库
|
||||
private String supplier; // 供应商
|
||||
private String responsiblePerson; // 经办人
|
||||
private Long handlingTime; // 经办时间
|
||||
private String consignee; // 收货单位(人员)
|
||||
private Integer auditState; // 审核状态(0=未审核,1=已审核,2=已取消)
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
|
@ -37,11 +36,10 @@ public class SparePartStockAudit implements Serializable {
|
|||
private String phone; // 联系电话
|
||||
private String remark; // 备注
|
||||
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||
private Long createTime; // 创建时间
|
||||
private Long updateTime; // 更新时间
|
||||
private Long deleteTime; // 删除时间
|
||||
private Date createTime; // 创建时间
|
||||
private Date updateTime; // 更新时间
|
||||
private Date deleteTime; // 删除时间
|
||||
private Integer outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||
private Long orderId; //订单编号
|
||||
private Integer orderType; // 0-检修工单 1-维修工单
|
||||
private String shippingAddress; //收货地址
|
||||
private String consigner; //发货人
|
||||
|
@ -56,6 +54,6 @@ public class SparePartStockAudit implements Serializable {
|
|||
private Integer recipientNumber; //领用数量
|
||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成,6=填写中,7=收货超期)
|
||||
private String purchaseIdea; //采购意见
|
||||
private Integer responsiblePersonId; //经办人id
|
||||
private Date consignerTime; //发货时间
|
||||
private Integer creatorId;
|
||||
}
|
|
@ -4,10 +4,17 @@ package com.hcy.common.mapper.SparePartAudit;
|
|||
import com.hcy.common.core.basics.IBaseMapper;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备件审核Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface SparePartAuditMapper extends IBaseMapper<SparePartAudit> {
|
||||
|
||||
@Select("select * from la_spare_part_audit where stock_audit_id = #{id}")
|
||||
List<SparePartAudit> findSparePartAuditByStockAuditId(@Param("id") Long id);
|
||||
}
|
||||
|
|
|
@ -26,4 +26,7 @@ public interface MaintenanceOrderMapper extends IBaseMapper<MaintenanceOrder> {
|
|||
*/
|
||||
@Select("select * from la_maintenance_order where is_delete = 0 and id = #{id}")
|
||||
MaintenanceOrder findMaintenanceOrderById(@Param("id") Long id);
|
||||
|
||||
@Select("select * from la_maintenance_order where is_delete = 0 and order_no like concat('%',#{time},'%') order by order_no desc limit 1")
|
||||
MaintenanceOrder findLastMaintenanceOrderByTime(@Param("time") String time);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
package com.hcy.common.mapper.order.repair;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.core.basics.IBaseMapper;
|
||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
||||
import com.hcy.common.dto.order.MaintenanceRepairDto;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 旧模块返修信息Mapper
|
||||
|
@ -10,4 +16,11 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
@Mapper
|
||||
public interface MaintenanceRepairMapper extends IBaseMapper<MaintenanceRepair> {
|
||||
|
||||
@Select("select * from la_maintenance_repair where maintenance_order_id = #{orderId}")
|
||||
MaintenanceRepair findMaintenanceRepairByOrderId(@Param("orderId") Long orderId);
|
||||
|
||||
@Select("select * from la_maintenance_repair where module_no = #{moduleNo}")
|
||||
MaintenanceRepair findMaintenanceRepairByModuleNo(@Param("moduleNo") String moduleNo);
|
||||
|
||||
Page<MaintenanceRepairDto> list(Page page, @Param("param") MaintenanceRepairDto maintenanceRepairDto);
|
||||
}
|
||||
|
|
|
@ -2,12 +2,26 @@ package com.hcy.common.mapper.sparePartStockAudit;
|
|||
|
||||
|
||||
import com.hcy.common.core.basics.IBaseMapper;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 备件出入库审核Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface SparePartStockAuditMapper extends IBaseMapper<SparePartStockAudit> {
|
||||
|
||||
@Select("select * from la_spare_part_stock_audit where is_delete = 0 and receipt_number like concat('%',#{time},'%') order by receipt_number desc limit 1")
|
||||
SparePartStockAudit findLastSparePartStockAuditByTime(@Param("time") String time);
|
||||
|
||||
/**
|
||||
* 根据id查询出入库审核信息
|
||||
* @param id 出入库审核id
|
||||
* @return SparePartStockAudit
|
||||
*/
|
||||
@Select("select * from la_spare_part_stock_audit where is_delete = 0 and id = #{id}")
|
||||
SparePartStockAudit findSparePartStockAuditById(@Param("id") Long id);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,19 @@ public interface SystemAuthAdminMapper extends IBaseMapper<SystemAuthAdmin> {
|
|||
*/
|
||||
AdminLargeDataDto personnelStatistics();
|
||||
|
||||
/**
|
||||
* 根据用户id查询系统用户
|
||||
* @param userId 用户id
|
||||
* @return SystemAuthAdmin
|
||||
*/
|
||||
@Select("select * from la_system_auth_admin where is_delete = 0 and user_id = #{userId}")
|
||||
SystemAuthAdmin findSystemAuthAdminByUserId(@Param("userId") Integer userId);
|
||||
|
||||
/**
|
||||
* 根据id查询系统用户inxi
|
||||
* @param id id
|
||||
* @return SystemAuthAdmin
|
||||
*/
|
||||
@Select("select * from la_system_auth_admin where is_delete = 0 and id = #{id}")
|
||||
SystemAuthAdmin findSystemAuthAdminById(@Param("id") Integer id);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package com.hcy.common.utils;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
public class OrderUtil {
|
||||
|
||||
public static String getOrderNo(String orderNo) {
|
||||
String formatDate = TimeUtil.getCurrentTimeYYYYMMDD();
|
||||
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
|
||||
|
||||
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
|
||||
if (StringUtils.isEmpty(orderNo)) {
|
||||
return currentOrderNo.toString();
|
||||
} else {
|
||||
int lastOrderNo = Integer.parseInt(orderNo.substring(8));
|
||||
int length = String.valueOf((lastOrderNo + 1)).length();
|
||||
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
|
||||
|
||||
//如果流水号长度小于6位,则在前面补0
|
||||
if (length < 6) {
|
||||
for (int i = 0; i < 6 - length; i++) {
|
||||
newOrderNo.insert(0, "0");
|
||||
}
|
||||
}
|
||||
|
||||
return formatDate + newOrderNo;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,6 +17,8 @@ import java.util.regex.Pattern;
|
|||
|
||||
public class TimeUtil {
|
||||
|
||||
private static final SimpleDateFormat SDF_YYYY_MM_DD = new SimpleDateFormat("yyyyMMdd");
|
||||
|
||||
/**
|
||||
* 时间戳转日期(默认格式)
|
||||
*
|
||||
|
@ -793,4 +795,9 @@ public class TimeUtil {
|
|||
long diffInSeconds = endTime - (System.currentTimeMillis() / 1000);
|
||||
return TimeUnit.SECONDS.toMinutes(diffInSeconds);
|
||||
}
|
||||
|
||||
public static String getCurrentTimeYYYYMMDD(){
|
||||
//获取当前日期并将其进行格式化
|
||||
return SDF_YYYY_MM_DD.format(new Date());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<?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="com.hcy.common.mapper.order.repair.MaintenanceRepairMapper">
|
||||
|
||||
<select id="list" resultType="com.hcy.common.dto.order.MaintenanceRepairDto">
|
||||
SELECT
|
||||
lmr.*,
|
||||
lc.client_name as clientName,
|
||||
lmo.order_no as orderNo,
|
||||
lmo.equipment_id as equipmentId,
|
||||
lu.username as receiverName,
|
||||
le.name as equipmentName,
|
||||
lc.director as director,
|
||||
lc.phone as phone
|
||||
FROM
|
||||
la_maintenance_repair AS lmr
|
||||
LEFT JOIN la_maintenance_order AS lmo ON lmo.id = lmr.maintenance_order_id
|
||||
LEFT JOIN la_client as lc ON lc.id = lmo.client_id
|
||||
LEFT JOIN la_user as lu ON lu.id = lmo.receiver_id
|
||||
LEFT JOIN la_equipment as le ON le.id = lmo.equipment_id
|
||||
<where>
|
||||
lmr.maintenance_order_id is not null
|
||||
<if test="param.clientName != null and param.clientName != ''">
|
||||
and lc.client_name like concat('%',#{param.clientName},'%')
|
||||
</if>
|
||||
<if test="param.receiverName != null and param.receiverName != ''">
|
||||
and lu.username like concat('%',#{param.receiverName},'%')
|
||||
</if>
|
||||
<if test="param.priority != null">
|
||||
and lmr.priority = #{param.priority}
|
||||
</if>
|
||||
<if test="param.logisticsMode != null">
|
||||
and lmr.logistics_mode = #{param.logisticsMode}
|
||||
</if>
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
</mapper>
|
|
@ -95,6 +95,15 @@ public class MaintenanceOrderController {
|
|||
return AjaxResult.success(iMaintenanceOrderService.detail(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模块号获取订单信息
|
||||
* @return Object
|
||||
*/
|
||||
@GetMapping("/getMaintenanceOrderDetail")
|
||||
public Object getMaintenanceOrderDetail(String modelNo) {
|
||||
return AjaxResult.success(iMaintenanceOrderService.getMaintenanceOrderDetail(modelNo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务报价
|
||||
* @param maintenanceOrderParam 参数
|
||||
|
@ -149,4 +158,15 @@ public class MaintenanceOrderController {
|
|||
iMaintenanceOrderService.updateEquipmentModel(maintenanceOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 旧模块返修
|
||||
* @param maintenanceOrderParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@PostMapping("/oldModuleRepair")
|
||||
public Object oldModuleRepair(@RequestBody MaintenanceOrderParam maintenanceOrderParam) {
|
||||
iMaintenanceOrderService.oldModuleRepair(maintenanceOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,6 +54,12 @@ public interface IMaintenanceOrderService {
|
|||
*/
|
||||
MaintenanceOrderDetailVo detail(Long id);
|
||||
|
||||
/**
|
||||
* 检修工单详情
|
||||
* @return MaintenanceOrderDetailVo
|
||||
*/
|
||||
MaintenanceOrderDetailVo getMaintenanceOrderDetail(String modelNo);
|
||||
|
||||
/**
|
||||
* 退单
|
||||
* @param maintenanceOrderParam 参数
|
||||
|
@ -83,4 +89,10 @@ public interface IMaintenanceOrderService {
|
|||
* @param maintenanceOrderParam 参数
|
||||
*/
|
||||
void updateEquipmentModel(MaintenanceOrderParam maintenanceOrderParam);
|
||||
|
||||
/**
|
||||
* 旧模块返修
|
||||
* @param maintenanceOrderParam 参数
|
||||
*/
|
||||
void oldModuleRepair(MaintenanceOrderParam maintenanceOrderParam);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import com.hcy.common.entity.client.Equipment;
|
|||
import com.hcy.common.entity.client.EquipmentModel;
|
||||
import com.hcy.common.entity.fault.Fault;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
|
@ -31,10 +32,13 @@ import com.hcy.common.mapper.client.EquipmentModelMapper;
|
|||
import com.hcy.common.mapper.fault.FaultMapper;
|
||||
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||
import com.hcy.common.mapper.order.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import com.hcy.common.utils.OrderUtil;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import com.hcy.common.utils.ToolsUtil;
|
||||
import com.hcy.front.FrontThreadLocal;
|
||||
import com.hcy.front.service.order.IMaintenanceOrderService;
|
||||
|
@ -46,6 +50,7 @@ import com.hcy.front.vo.client.EquipmentDetailVo;
|
|||
import com.hcy.front.vo.client.EquipmentModelDetailVo;
|
||||
import com.hcy.front.vo.order.MaintenanceOrderDetailVo;
|
||||
import com.hcy.front.vo.order.MaintenanceOrderListVo;
|
||||
import com.hcy.front.vo.order.MaintenanceRepairDetailVo;
|
||||
import com.hcy.front.vo.order.OrderSparePartListVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
@ -105,6 +110,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
@Resource
|
||||
EquipmentModelMapper equipmentModelMapper;
|
||||
|
||||
@Resource
|
||||
MaintenanceRepairMapper maintenanceRepairMapper;
|
||||
|
||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||
|
||||
@Override
|
||||
|
@ -115,47 +123,17 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
//订单来源
|
||||
model.setOrderSource(OrderStateEnum.CUSTOMER_REPORT.getStatus());
|
||||
//接单类型
|
||||
model.setReceiverType((long) OrderStateEnum.REGIONAL_DISPATCH.getStatus());
|
||||
model.setReceiverType(OrderStateEnum.REGIONAL_DISPATCH.getStatus());
|
||||
//订单状态
|
||||
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
|
||||
|
||||
model.setOrderNo(getOrderNo());
|
||||
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||
model.setOrderNo(OrderUtil.getOrderNo(lastmMaintenanceOrder.getOrderNo()));
|
||||
model.setCreatorId(FrontThreadLocal.getUserId().longValue());
|
||||
|
||||
maintenanceOrderMapper.insert(model);
|
||||
}
|
||||
|
||||
private String getOrderNo() {
|
||||
//获取当前日期并将其进行格式化
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
String formatDate = simpleDateFormat.format(new Date());
|
||||
|
||||
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
|
||||
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
|
||||
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.like(MaintenanceOrder::getOrderNo, formatDate)
|
||||
.orderByDesc(MaintenanceOrder::getOrderNo)
|
||||
.last("limit 1"));
|
||||
|
||||
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
|
||||
if (lastmMaintenanceOrder == null) {
|
||||
return currentOrderNo.toString();
|
||||
} else {
|
||||
int lastOrderNo = Integer.parseInt(lastmMaintenanceOrder.getOrderNo().substring(8));
|
||||
int length = String.valueOf((lastOrderNo + 1)).length();
|
||||
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
|
||||
|
||||
//如果流水号长度小于6位,则在前面补0
|
||||
if (length < 6) {
|
||||
for (int i = 0; i < 6 - length; i++) {
|
||||
newOrderNo.insert(0, "0");
|
||||
}
|
||||
}
|
||||
|
||||
return formatDate + newOrderNo;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检修订单列表
|
||||
*
|
||||
|
@ -248,11 +226,30 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
|
||||
List<MaintenanceOrderListVo> returnData = new LinkedList<>();
|
||||
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
Page<MaintenanceOrderDto> page = maintenanceOrderMapper.list(
|
||||
new Page<>(pageParam.getPageNo(), pageParam.getPageSize()),maintenanceOrderDto);
|
||||
|
||||
for (MaintenanceOrderDto item : page.getRecords()) {
|
||||
MaintenanceOrderListVo vo = new MaintenanceOrderListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
|
||||
//设置返修信息
|
||||
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByOrderId(item.getId());
|
||||
if(maintenanceRepair != null){
|
||||
MaintenanceRepairDetailVo maintenanceRepairDetailVo = new MaintenanceRepairDetailVo();
|
||||
BeanUtils.copyProperties(maintenanceRepair,maintenanceRepairDetailVo);
|
||||
|
||||
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceRepair.getAddressId());
|
||||
if(userAddress != null){
|
||||
maintenanceRepairDetailVo.setAddressDetail(regionMap.get(userAddress.getProvinceId()) +
|
||||
regionMap.get(userAddress.getCityId()) +
|
||||
regionMap.get(userAddress.getDistrictId()) +
|
||||
userAddress.getAddress());
|
||||
}
|
||||
vo.setMaintenanceRepair(maintenanceRepairDetailVo);
|
||||
}
|
||||
|
||||
returnData.add(vo);
|
||||
}
|
||||
|
||||
|
@ -397,9 +394,39 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
//设置设备模块信息
|
||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||
|
||||
//设置返修信息
|
||||
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByOrderId(maintenanceOrder.getId());
|
||||
if(maintenanceRepair != null){
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
MaintenanceRepairDetailVo maintenanceRepairDetailVo = new MaintenanceRepairDetailVo();
|
||||
BeanUtils.copyProperties(maintenanceRepair,maintenanceRepairDetailVo);
|
||||
|
||||
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceRepair.getAddressId());
|
||||
if(userAddress != null){
|
||||
maintenanceRepairDetailVo.setAddressDetail(regionMap.get(userAddress.getProvinceId()) +
|
||||
regionMap.get(userAddress.getCityId()) +
|
||||
regionMap.get(userAddress.getDistrictId()) +
|
||||
userAddress.getAddress());
|
||||
maintenanceRepairDetailVo.setReceiver(userAddress.getContact());
|
||||
maintenanceRepairDetailVo.setReceiverPhone(userAddress.getMobile());
|
||||
}
|
||||
vo.setMaintenanceRepair(maintenanceRepairDetailVo);
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaintenanceOrderDetailVo getMaintenanceOrderDetail(String modelNo) {
|
||||
Assert.notNull(modelNo,"模块号不能为空");
|
||||
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByModuleNo(modelNo);
|
||||
if(maintenanceRepair != null){
|
||||
return detail(maintenanceRepair.getMaintenanceOrderId());
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void serviceOfferPrice(MaintenanceOrderParam maintenanceOrderParam) {
|
||||
|
@ -504,13 +531,16 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
User user = userMapper.selectById(FrontThreadLocal.getUserId());
|
||||
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceOrderParam.getAddressId());
|
||||
|
||||
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||
SparePartStockAudit sparePartStockAudit = new SparePartStockAudit();
|
||||
sparePartStockAudit.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit.getReceiptNumber()));
|
||||
sparePartStockAudit.setOrderId(maintenanceOrderParam.getId());
|
||||
sparePartStockAudit.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
||||
sparePartStockAudit.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
sparePartStockAudit.setOutInWarehouseType(AuditStateEnum.STAFF_MATERIALS.getStatus());
|
||||
sparePartStockAudit.setConsignee(user.getUsername());
|
||||
sparePartStockAudit.setPhone(user.getMobile());
|
||||
sparePartStockAudit.setCreatorId(FrontThreadLocal.getUserId());
|
||||
//获取检修员选择地址
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
sparePartStockAudit.setShippingAddress(regionMap.get(userAddress.getProvinceId()) +
|
||||
|
@ -531,6 +561,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
Assert.notNull(maintenanceOrderParam.getFamiliarFaultId(), "结论类型不可为空");
|
||||
Assert.notNull(maintenanceOrderParam.getFamiliarFaultDescription(), "结论描述不可为空");
|
||||
|
||||
//只有维修中和填写回单状态才可以填写回单
|
||||
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus() &&
|
||||
maintenanceOrder.getIsConfirmReceipt() == MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus()){
|
||||
|
||||
|
@ -555,7 +586,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
|
||||
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus()){
|
||||
EquipmentModel equipmentModel = equipmentModelMapper.findEquipmentModelByEquipmentId(maintenanceOrder.getEquipmentId());
|
||||
//未替换过创建设备模块信息
|
||||
//未替换过则创建设备模块信息
|
||||
if(equipmentModel == null){
|
||||
equipmentModel = new EquipmentModel();
|
||||
equipmentModel.setEquipmentId(maintenanceOrder.getEquipmentId());
|
||||
|
@ -576,4 +607,23 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void oldModuleRepair(MaintenanceOrderParam maintenanceOrderParam) {
|
||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||
|
||||
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus()){
|
||||
|
||||
MaintenanceRepair maintenanceRepair = new MaintenanceRepair();
|
||||
maintenanceRepair.setMaintenanceOrderId(maintenanceOrder.getId());
|
||||
maintenanceRepair.setId(null);
|
||||
BeanUtils.copyProperties(maintenanceOrderParam, maintenanceRepair);
|
||||
|
||||
maintenanceRepairMapper.insert(maintenanceRepair);
|
||||
}else{
|
||||
throw new OperateException("当前订单状态无法进行旧模块返修");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -110,7 +110,15 @@ public class MaintenanceOrderParam implements Serializable {
|
|||
private Integer isMaintain; //是否维修 0-维修 1-不维修
|
||||
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
|
||||
private Integer deliveryMethod; //配送方式 0-物流 1-上门取件 2-送货上门
|
||||
private Integer addressId; //地址id
|
||||
private String modelNo; //模块编码
|
||||
|
||||
private Integer isReturn; //是否回寄 0-是 1-不回寄
|
||||
private Integer addressId; //地址id
|
||||
private String brand; //品牌
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private String logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private String moduleNo; // 模块号
|
||||
private String moduleImg; // 模块图片
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.hcy.front.vo.order;
|
|||
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import com.hcy.common.entity.client.EquipmentModel;
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import com.hcy.front.vo.client.EquipmentModelDetailVo;
|
||||
import lombok.Data;
|
||||
|
||||
|
@ -61,4 +62,5 @@ public class MaintenanceOrderDetailVo implements Serializable {
|
|||
private String familiarFaultName; //结论名称
|
||||
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
||||
private EquipmentModelDetailVo equipmentModel; //设备模块信息
|
||||
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hcy.front.vo.order;
|
||||
|
||||
import com.hcy.common.entity.order.repair.MaintenanceRepair;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -58,4 +59,5 @@ public class MaintenanceOrderListVo implements Serializable {
|
|||
private String clientName; // 客户姓名
|
||||
private String creatorName; // 创建人姓名
|
||||
private String receiverName; // 接单人姓名
|
||||
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package com.hcy.front.vo.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* MaintenanceRepairVo
|
||||
*/
|
||||
@Data
|
||||
public class MaintenanceRepairDetailVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // id
|
||||
private Long maintenanceOrderId; //检修单id
|
||||
private Long priority; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Integer addressId; // 回寄地址
|
||||
private String moduleNo; // 模块号
|
||||
private String brand; // 品牌号
|
||||
private String moduleImg; // 模块图片
|
||||
private Date createTime; // 创建时间
|
||||
private String addressDetail; //地址详情
|
||||
private String receiver; // 收件人
|
||||
private String receiverPhone; // 收件人电话
|
||||
private Integer isReturn; //是否回寄 0-是 1-不回寄
|
||||
private String faultDescription; //故障详情
|
||||
private String remark; //备注
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.hcy.front.vo.order;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* MaintenanceRepairVo
|
||||
*/
|
||||
@Data
|
||||
public class MaintenanceRepairListVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // id
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Long addressId; // 回寄地址
|
||||
private String moduleNo; // 模块号
|
||||
private String brand; // 品牌号
|
||||
private String moduleImg; // 模块图片
|
||||
private Long creatorId; // 创建人id
|
||||
private Date createTime; // 创建时间
|
||||
|
||||
}
|
Loading…
Reference in New Issue