diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 902d7c91d..57241b98d 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -32,6 +32,10 @@ public class Constant { public static final String DH_ORDER = "DH"; //到货 public static final String TH_ORDER = "TH"; //退货 + public static final String DEV_DDJ = "DDJ"; //设备登记 + public static final String DEV_DBG = "DBG"; //设备变更 + public static final String DEV_DYC = "DYC"; //设备移除 + /** * 盘点单据前缀 diff --git a/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowConfigController.java b/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowConfigController.java index a89338cd0..88fa95ac3 100644 --- a/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowConfigController.java +++ b/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowConfigController.java @@ -59,6 +59,20 @@ public class SysApprovalFlowConfigController { @ApiOperation(value = "新增配置详情") @PostMapping("/udiwms/sysApprovalFlowConfig/addConfigDetail") public BaseResponse addConfigDetail(@RequestBody @Valid SysApprovalFlowAddDetailRequest sysApprovalFlowAddDetailRequest) { + Integer approvalNodeType = sysApprovalFlowAddDetailRequest.getApprovalNodeType(); + if (approvalNodeType == 1){ + String approvalUserId = sysApprovalFlowAddDetailRequest.getApprovalUserId(); + String approvalUserName = sysApprovalFlowAddDetailRequest.getApprovalUserName(); + if (StringUtil.isEmpty(approvalUserId)) return ResultVOUtils.error("审批人主键不可以为空!"); + if (StringUtil.isEmpty(approvalUserName)) return ResultVOUtils.error("审批人名称不可以为空!"); + + }else if(approvalNodeType == 2){ + String approvalPostId = sysApprovalFlowAddDetailRequest.getApprovalPostId(); + String approvalPostName = sysApprovalFlowAddDetailRequest.getApprovalPostName(); + if (StringUtil.isEmpty(approvalPostId)) return ResultVOUtils.error("审批岗位序号不可以为空!"); + if (StringUtil.isEmpty(approvalPostName)) return ResultVOUtils.error("审批岗位名称不可以为空!"); + } + int i = sysApprovalFlowConfigService.addConfigDetail(sysApprovalFlowAddDetailRequest); return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowController.java b/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowController.java index 50ccba404..7acc26386 100644 --- a/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowController.java +++ b/src/main/java/com/glxp/api/controller/basic/SysApprovalFlowController.java @@ -1,17 +1,42 @@ package com.glxp.api.controller.basic; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.auth.DeptEntity; +import com.glxp.api.entity.basic.SysApprovalFlow; +import com.glxp.api.entity.dev.DeviceChangeLogEntity; +import com.glxp.api.entity.dev.DeviceChangeOrderEntity; +import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity; +import com.glxp.api.enums.ApprovalFlowEnum; +import com.glxp.api.enums.dev.DeviceChangeStatusEnum; +import com.glxp.api.enums.dev.DeviceChangeTypeEnum; +import com.glxp.api.enums.dev.DeviceStatusEnum; +import com.glxp.api.exception.JsonException; import com.glxp.api.req.basic.SubmitApprovalFlowRequest; import com.glxp.api.res.basic.SysApprovalFlowDetailResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.auth.DeptService; import com.glxp.api.service.basic.SysApprovalFlowService; +import com.glxp.api.service.dev.DeviceChangeLogService; +import com.glxp.api.service.dev.DeviceChangeOrderItemService; +import com.glxp.api.service.dev.DeviceChangeOrderService; +import com.glxp.api.service.dev.DeviceInfoService; import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.vo.dev.DeviceChangeOrderVo; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; @Slf4j @@ -22,6 +47,18 @@ public class SysApprovalFlowController { private SysApprovalFlowService sysApprovalFlowService; @Resource private SystemParamConfigService systemParamConfigService; + @Resource + private DeviceChangeOrderService deviceChangeOrderService; + @Resource + private DeviceChangeOrderItemService deviceChangeOrderItemService; + @Resource + private DeviceInfoService deviceInfoService; + @Resource + private DeviceChangeLogService deviceChangeLogService; + @Resource + private DeptService deptService; + @Resource + private CustomerService customerService; @ApiOperation(value = "获取流程审批过程") @GetMapping("/udiwms/sysApprovalFlow/approvalFlowDetailList/{approvalFlowId}") @@ -44,4 +81,72 @@ public class SysApprovalFlowController { return ResultVOUtils.success(sys_approval_flow); } + @ApiOperation(value = "是否有节点审批权限") + @GetMapping("/sysApprovalFlow/nodePermissions/{id}") + public BaseResponse nodePermissions(@PathVariable String id) { + boolean b = sysApprovalFlowService.nodePermissions(id); + return ResultVOUtils.success(b); + } + + @ApiOperation(value = "提交节点审批-设备一处") + @PostMapping("/udiwms/sysApprovalFlow/submitApprovalFlow/sbyc") + @Transactional(rollbackFor = Exception.class) + public BaseResponse submitApprovalFlowSbyc(@RequestBody @Valid SubmitApprovalFlowRequest submitApprovalFlowRequest) { + String approvalFlowMxId = submitApprovalFlowRequest.getId(); + sysApprovalFlowService.submitApprovalFlow(submitApprovalFlowRequest); + + //判断是否是最终状态为 审核通过 是 调用 审核通过的后续方法 + SysApprovalFlow sysApprovalFlow = sysApprovalFlowService.getApprovalFlowByMxId(approvalFlowMxId); + Integer status = sysApprovalFlow.getStatus(); + if (status.equals(ApprovalFlowEnum.TG.getCode())){ + //后续方法 + String id = sysApprovalFlow.getId(); + DeviceChangeOrderEntity order = deviceChangeOrderService.getOne(Wrappers.lambdaQuery(DeviceChangeOrderEntity.class).eq(DeviceChangeOrderEntity::getApprovalFlowId, id)); + if (order == null){ + return ResultVOUtils.error("未找到对应的审批流程,请确认"); + } + LocalDateTime now = LocalDateTime.now(); + Long userId = customerService.getUserId(); + AuthAdmin authUserDto = customerService.getUserBean(); + //查询创建人名称 + String userName = authUserDto.getEmployeeName(); + + deviceChangeOrderService.update(Wrappers.lambdaUpdate(DeviceChangeOrderEntity.class) + .set(DeviceChangeOrderEntity::getStatus, DeviceChangeStatusEnum.FINISH) + .set(DeviceChangeOrderEntity::getConfirmTime, now) + .set(DeviceChangeOrderEntity::getConfirmUser, userId) + .set(DeviceChangeOrderEntity::getConfirmUserName, userName) + .eq(DeviceChangeOrderEntity::getApprovalFlowId, id) + .eq(DeviceChangeOrderEntity::getStatus, DeviceChangeStatusEnum.AUDITING)); + + List list = deviceChangeOrderItemService.list(Wrappers.lambdaQuery(DeviceChangeOrderItemEntity.class).eq(DeviceChangeOrderItemEntity::getOrderId, order.getOrderId())); + if (CollectionUtil.isEmpty(list)){ + return ResultVOUtils.error("单据里待移除设备不存在,请确认"); + } + List logs = new ArrayList<>(); + DeviceChangeOrderVo orderVo = BeanUtil.copyProperties(order, DeviceChangeOrderVo.class); + orderVo.setConfirmTime(now); + orderVo.setConfirmUser(userId); + orderVo.setConfirmUserName(userName); + DeptEntity dept = deptService.selectByCode(orderVo.getDeptCode()); + orderVo.setDeptName(dept.getName()); + if (orderVo.getToDeptCode().equals(orderVo.getDeptCode())) { + orderVo.setToDeptName(dept.getName()); + } else { + dept = deptService.selectByCode(orderVo.getToDeptCode()); + orderVo.setToDeptName(dept.getName()); + } + list.forEach( i ->{ + deviceInfoService.changeStatus(i.getDeviceCode(), order.getDeptCode(), DeviceStatusEnum.NORMAL, order.getType() == DeviceChangeTypeEnum.CHANGE ? DeviceStatusEnum.CHANGE : DeviceStatusEnum.DESTROY); + if (order.getType() == DeviceChangeTypeEnum.DESTROY) { + DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo); + logs.add(logEntity); + } + }); + if (CollectionUtil.isNotEmpty(logs)) { + deviceChangeLogService.saveBatch(logs); + } + } + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java index 5c206de22..5592ea459 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java @@ -151,6 +151,8 @@ public class DeviceInfoController extends BaseController { @AuthRuleAnnotation("") @PostMapping("/udi/device/info/detailByDeptCode/page") public BaseResponse detailByDeptCode(@RequestBody @Valid DeviceInfoDetailByDeptCodeQuery query) { + AuthAdmin user = super.getUser(); + query.setDeptCode(user.getLocDeptCode()); List list = deviceInfoService.detail(query); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); @@ -168,8 +170,6 @@ public class DeviceInfoController extends BaseController { @AuthRuleAnnotation("") @PostMapping("/udi/device/detailInfo/page") public BaseResponse detailInfoPage(@RequestBody DeviceInfoDetailQuery query) { - AuthAdmin user = super.getUser(); - query.setDeptCode(user.getLocDeptCode()); List list = deviceInfoService.detail(query); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceMiniController.java b/src/main/java/com/glxp/api/controller/dev/DeviceMiniController.java new file mode 100644 index 000000000..d9f9bfc08 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/dev/DeviceMiniController.java @@ -0,0 +1,68 @@ +package com.glxp.api.controller.dev; + + +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.dev.DeviceCheckDetailEntity; +import com.glxp.api.req.dev.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse; +import com.glxp.api.service.dev.DeviceCheckDetailService; +import com.glxp.api.service.dev.DeviceRepairApplyDetailService; +import groovy.util.logging.Slf4j; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; +import java.util.List; + +@Slf4j +@RestController +@RequestMapping +@RequiredArgsConstructor +public class DeviceMiniController extends BaseController { + + private final DeviceRepairApplyDetailService deviceRepairApplyDetailService; + private final DeviceCheckDetailService deviceCheckDetailService; + + /** + * 获取明细报修单列表分页 + * + * @param query + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udi/device/repair/apply/detail/mini/page") + public BaseResponse miniPage(@RequestBody @Valid DeviceRepairApplyDetailMiniQuery query) { + List list = deviceRepairApplyDetailService.miniPage(query); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse page = new PageSimpleResponse(); + page.setTotal(pageInfo.getTotal()); + page.setList(pageInfo.getList()); + return ResultVOUtils.success(page); + } + + + /** + * 巡检任务单明细列表 + * + * @param query + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udi/device/check/detail/mini/page") + public BaseResponse miniPage(@RequestBody @Valid DeviceCheckDetailMiniQuery query) { + List list = deviceCheckDetailService.miniPage(query); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse page = new PageSimpleResponse(); + page.setTotal(pageInfo.getTotal()); + page.setList(pageInfo.getList()); + return ResultVOUtils.success(page); + } +} diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyController.java b/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyController.java index 4fec0c1f6..f50702d38 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyController.java @@ -9,10 +9,7 @@ import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; -import com.glxp.api.req.dev.DeviceRepairApplyAddParam; -import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam; -import com.glxp.api.req.dev.DeviceRepairApplyHallQuery; -import com.glxp.api.req.dev.DeviceRepairApplyQuery; +import com.glxp.api.req.dev.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.dev.DeviceRepairApplyService; import com.glxp.api.vo.dev.DeviceRepairApplyVo; @@ -21,6 +18,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; @Slf4j @@ -60,9 +58,15 @@ public class DeviceRepairApplyController extends BaseController { @PostMapping("/udi/device/repair/apply/hall/page") public BaseResponse adminPage(@RequestBody DeviceRepairApplyHallQuery query) { DeviceRepairApplyQuery applyQuery = new DeviceRepairApplyQuery(); - applyQuery.setStatus(DeviceRepairApplyStatusEnum.WAIT_PROCESS); - applyQuery.setApplyId(query.getApplyId()); - applyQuery.setApplyDeptCode(query.getApplyDeptCode()); + ArrayList statusEnums = new ArrayList<>(); + if (query.getIsFinish() == 1){ + statusEnums.add(DeviceRepairApplyStatusEnum.FINISH); + }else { + statusEnums.add(DeviceRepairApplyStatusEnum.WAIT_PROCESS); + statusEnums.add(DeviceRepairApplyStatusEnum.PROCESSING); + } + applyQuery.setStatuss(statusEnums); + BeanUtil.copyProperties(query,applyQuery); List list = deviceRepairApplyService.pageList(applyQuery); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyDetailController.java b/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyDetailController.java index a4088f7ac..0128fa63e 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyDetailController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceRepairApplyDetailController.java @@ -67,4 +67,18 @@ public class DeviceRepairApplyDetailController extends BaseController { } + /** + * 查出单条的设备保修单 + * + * @param query + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udi/device/repair/apply/listByIdAndCode") + public BaseResponse listByIdAndCode(@RequestBody @Valid DeviceRepairApplyListByIdAndCodeQuery query) { + DeviceRepairApplyDetailEntity entity = deviceRepairApplyDetailService.listByIdAndCode(query); + return ResultVOUtils.success(entity); + } + + } diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceRepairController.java b/src/main/java/com/glxp/api/controller/dev/DeviceRepairController.java index 9d19c658e..72a95e593 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceRepairController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceRepairController.java @@ -52,14 +52,14 @@ public class DeviceRepairController extends BaseController { /** * 完成我的维修单 * - * @param repairId 维修单id + * @param deviceRepairEntity * @return */ @AuthRuleAnnotation("") - @GetMapping("/udi/device/repair/finishByUser/{repairId}") - public BaseResponse finishByUser(@PathVariable Long repairId) { + @PostMapping("/udi/device/repair/finishByUser/repairId") + public BaseResponse finishByUser(@RequestBody DeviceRepairEntity deviceRepairEntity) { AuthAdmin user = super.getUser(); - deviceRepairService.finishByUser(repairId, user); + deviceRepairService.finishByUser(deviceRepairEntity, user); return ResultVOUtils.successMsg("操作成功"); } diff --git a/src/main/java/com/glxp/api/controller/purchase/PurContractController.java b/src/main/java/com/glxp/api/controller/purchase/PurContractController.java new file mode 100644 index 000000000..16697c97c --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/PurContractController.java @@ -0,0 +1,223 @@ +package com.glxp.api.controller.purchase; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.glxp.api.annotation.RepeatSubmit; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.purchase.PurContractDetailEntity; +import com.glxp.api.entity.purchase.PurContractEntity; +import com.glxp.api.entity.purchase.PurPlanEntity; +import com.glxp.api.req.purchase.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.purchase.PurContractEntityResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.SysApprovalFlowService; +import com.glxp.api.service.purchase.impl.PurContractDetailService; +import com.glxp.api.service.purchase.impl.PurContractService; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import jodd.util.StringUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.constraints.NotEmpty; +import java.util.Arrays; +import java.util.Date; + +@RestController +@Slf4j +@RequiredArgsConstructor +public class PurContractController { + + @Resource + PurContractService purContractService; + @Resource + PurContractDetailService purContractDetailService; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private SysApprovalFlowService sysApprovalFlowService; + @Resource + CustomerService customerService; + @Resource + SystemParamConfigService systemParamConfigService; + + final String type = "cght"; + + /** + * 草稿保存 + */ + @PostMapping("/purchase/contract/postOrder") + public BaseResponse postOrder(@RequestBody PostPurContractRequest postPurPlanRequest) { + + Long userId = customerService.getUserId(); + PurContractEntity purContractEntity = postPurPlanRequest.getPurContractEntity(); + + Date date = new Date(); + purContractEntity.setUpdateTime(date); + purContractEntity.setUpdateUser(userId + ""); + purContractEntity.setStatus(postPurPlanRequest.getEditStatus()); //状态 + + Integer editStatus = postPurPlanRequest.getEditStatus(); + + String code1 = purContractEntity.getCode(); + if (StringUtil.isEmpty(code1)) { + String code = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("HT", "yyyyMMdd")); + purContractEntity.setCode(code); + } + + Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); + if (editStatus == 2 && sys_approval_flow){//提交审核 + String approvalFlowId = sysApprovalFlowService.getApprovalFlowId(); + purContractEntity.setApprovalFlowId(approvalFlowId); + sysApprovalFlowService.generateFlow(approvalFlowId,purContractEntity.getCode(),type); + } + + + if (purContractEntity.getId() == null) { + purContractEntity.setCreateTime(date); + purContractEntity.setCreateUser(userId + ""); + purContractService.save(purContractEntity); + } else { + purContractService.updateById(purContractEntity); + } + return ResultVOUtils.success("提交成功!"); + } + + + /** + * 查询采购合同列表 + */ + @GetMapping("/purchase/contract/list") + public BaseResponse list(PurContractRequest purContractRequest) { + + Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); + purContractRequest.setSysApprovalFlow(sys_approval_flow); + + IPage page = purContractService.queryPageList(purContractRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(page.getRecords()); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 查询采购合同详情列表 + * + * @param purContractDetailRequest + * @return + */ + @GetMapping("/purchase/contract/list/detail") + public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) { + IPage page = purContractDetailService.queryPageList(purContractDetailRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(page.getRecords()); + + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 修改采购合同详情 + */ + @PostMapping("/purchase/contract/updateDetail") + public BaseResponse detailEdit(@RequestBody PurContractDetailEntity purPlanDetailEntity) { + purContractDetailService.updateById(purPlanDetailEntity); + return ResultVOUtils.success("修改成功"); + } + + /** + * 添加产品到合同里面 + */ + @PostMapping("/purchase/contract/addContractDetail") + public BaseResponse addContractDetail(@RequestBody AddPurPlanDetailRequest addPurPlanDetailRequest) { + + int falg = purContractDetailService.insert(addPurPlanDetailRequest); + if (falg > 0) { + return ResultVOUtils.success("添加成功"); + } else { + return ResultVOUtils.success("添加失败"); + } + } + + /** + * 新增合同 + */ + @PostMapping("purchase/addContractDetail/add") + public BaseResponse add() { + Long userId = customerService.getUserId(); + PurContractEntity purContractEntity = new PurContractEntity(); + Date date = new Date(); + purContractEntity.setCreateUser(userId + ""); + purContractEntity.setCreateTime(date); + purContractEntity.setUpdateTime(date); + purContractEntity.setUpdateUser(userId + ""); + purContractService.insert(purContractEntity); + Long id = purContractEntity.getId(); + return ResultVOUtils.success(id); + } + + /** + * 删除申购单和详情 + */ + @PostMapping("/purchase/contract/delContractDetailAll") + public BaseResponse delApplyDetailAll(@RequestBody PurContractEntity purContractEntity) { + + if (purContractEntity.getId() != null) { + purContractService.deleteById(purContractEntity.getId()); + purContractDetailService.deleteByOrderId(purContractEntity.getId()); + } else { + return ResultVOUtils.error(999, "参数有误!"); + } + return ResultVOUtils.success(); + } + + + /** + * 删除合同明细 + * + * @param ids 主键串 + */ + @DeleteMapping("/purchase/contract/detail/{ids}") + public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + + purContractDetailService.deleteByIds(Arrays.asList(ids)); + return ResultVOUtils.success("删除成功"); + } + + + /** + * 导入计划 + */ + @PostMapping("/purchase/contract/importPlan") + public BaseResponse importPlan(@RequestBody PurPlanEntity purPlanEntity) { + + if (purPlanEntity.getId() != null) { + purContractService.importPlan(purPlanEntity.getId(),purPlanEntity.getPageType()); + } else { + return ResultVOUtils.error(999, "参数有误!"); + } + return ResultVOUtils.success(); + } + + + /** + * 审核采购合同 + */ + @RepeatSubmit() + @PostMapping("/purchase/contract/auditOrder") + public BaseResponse auditOrder(@RequestBody PurContractRequest purContractRequest) { + String code = purContractRequest.getCode(); + Integer status = purContractRequest.getStatus(); + if (StringUtil.isEmpty(code) || status == null){ + return ResultVOUtils.error(999, "参数有误!"); + } + boolean b = purContractService.auditOrder(purContractRequest); + return ResultVOUtils.success("更新成功!"); + } + +} diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java index ee83b6b31..2f0070bc0 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java @@ -2,6 +2,11 @@ package com.glxp.api.dao.dev; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery; +import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Administrator @@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DeviceRepairApplyDetailMapper extends BaseMapper { + List miniPage(@Param("param") DeviceRepairApplyDetailMiniQuery query); } diff --git a/src/main/java/com/glxp/api/dao/purchase/PurContractDetailMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurContractDetailMapper.java new file mode 100644 index 000000000..fde9899ea --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurContractDetailMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.purchase; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.purchase.PurContractDetailEntity; + +public interface PurContractDetailMapper extends BaseMapper { + +// int insert(PurContractDetailEntity purContractDetailEntity); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java new file mode 100644 index 000000000..9dc509ae6 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurContractMapper.java @@ -0,0 +1,15 @@ +package com.glxp.api.dao.purchase; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.glxp.api.entity.purchase.PurContractEntity; +import com.glxp.api.req.purchase.PurContractRequest; +import com.glxp.api.res.purchase.PurContractEntityResponse; +import org.apache.ibatis.annotations.Param; + +public interface PurContractMapper extends BaseMapper { + @Override + int insert(PurContractEntity purContractEntity); + + Page selectPage(Page page, @Param("purContractRequest") PurContractRequest purContractRequest); +} diff --git a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlow.java b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlow.java index 8a40970ba..c69606946 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlow.java +++ b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlow.java @@ -76,4 +76,16 @@ public class SysApprovalFlow { @TableField(value = "updateTime") private Date updateTime; + /** + * 下一个节点名字 + */ + @TableField(value = "nextNodeName") + private String nextNodeName; + + /** + * 下一个节点审核类型 + */ + @TableField(value = "nextApprovalNodeType") + private Integer nextApprovalNodeType; + } diff --git a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowConfigMx.java b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowConfigMx.java index dbdb1d214..d0a0a17ef 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowConfigMx.java +++ b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowConfigMx.java @@ -65,4 +65,25 @@ public class SysApprovalFlowConfigMx { @TableField(value = "updateTime") private Date updateTime; + + /** + * 审批节点类型 + */ + @TableField(value = "approvalNodeType") + private Integer approvalNodeType; + + + /** + * 审批岗位序号 + */ + @TableField(value = "approvalPostId") + private String approvalPostId; + + + /** + * 审批岗位名称 + */ + @TableField(value = "approvalPostName") + private String approvalPostName; + } diff --git a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowMx.java b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowMx.java index 4134113c4..91f6584d8 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowMx.java +++ b/src/main/java/com/glxp/api/entity/basic/SysApprovalFlowMx.java @@ -84,4 +84,25 @@ public class SysApprovalFlowMx { @TableField(value = "updateTime") private Date updateTime; + + /** + * 审批节点类型 + */ + @TableField(value = "approvalNodeType") + private Integer approvalNodeType; + + + /** + * 审批岗位序号 + */ + @TableField(value = "approvalPostId") + private String approvalPostId; + + + /** + * 审批岗位名称 + */ + @TableField(value = "approvalPostName") + private String approvalPostName; + } diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceChangeOrderEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceChangeOrderEntity.java index d97fa3137..169cfe362 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceChangeOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceChangeOrderEntity.java @@ -33,6 +33,12 @@ public class DeviceChangeOrderEntity implements Serializable { @TableId(value = "orderId") private Long orderId; + /** + * 单据号 + */ + @TableField(value = "billNo") + private String billNo; + /** * add:新增入库,change:变更归属 */ @@ -107,4 +113,16 @@ public class DeviceChangeOrderEntity implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; -} \ No newline at end of file + + /** + * 移除类型 + */ + @TableField(value = "destroyType") + private Integer destroyType; + + /** + * 审批表主键 + */ + @TableField(value = "approvalFlowId") + private String approvalFlowId; +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java index 66ff6cb13..bfe1b62f5 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java @@ -186,4 +186,10 @@ public class DeviceCheckDetailEntity { @TableField(value = "normalFlag") private Boolean normalFlag; + /** + * 报修单id + */ + @TableField(value = "applyId") + private Long applyId; + } diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java index 71dd9762d..8662f43f8 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java @@ -201,4 +201,10 @@ public class DeviceRepairApplyDetailEntity { */ @TableField(value = "finishTime") private LocalDateTime finishTime; -} \ No newline at end of file + + /** + * 报修人联系方式 + */ + @TableField(exist = false) + private String repairUserPhone; +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java index ef5feb4c4..462497de7 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java @@ -252,4 +252,10 @@ public class DeviceRepairEntity { */ @TableField(value = "confirmRemark") private String confirmRemark; + + /** + * 维修内容 + */ + @TableField(value = "repairDescription") + private String repairDescription; } diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java index ec11f930e..e309e4f2e 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java @@ -137,6 +137,9 @@ public class PurApplyEntity { @TableField(value = "approvalFlowId") private String approvalFlowId; + @TableField(value = "pageType") + private Integer pageType; + public static final String COL_ID = "id"; public static final String COL_BILLNO = "billNo"; diff --git a/src/main/java/com/glxp/api/entity/purchase/PurContractDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurContractDetailEntity.java new file mode 100644 index 000000000..d672b3012 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurContractDetailEntity.java @@ -0,0 +1,155 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 单据业务详情表 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "pur_contract_detail") +public class PurContractDetailEntity implements Serializable { + /** + * 单据业务ID + */ + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 关联合同编号 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; + + /** + * 产品编码 + */ + @TableField(value = "productId") + private Long productId; + + /** + * 产品唯一id uniqueId + */ + @TableField(value = "productUniqueId") + private String productUniqueId; + + /** + * 最小销售标识 + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + private String batchNo; + + /** + * 产品名称 + */ + @TableField(value = "productName") + private String productName; + + /** + * 生产厂家 + */ + @TableField(value = "productCompany") + private String productCompany; + + /** + * 生产日期 + */ + @TableField(value = "produceDate") + private Date produceDate; + + /** + * 过期时间 + */ + @TableField(value = "expireDate") + private Date expireDate; + + /** + * 注册证/备案号 + */ + @TableField(value = "zczbhhzbapzbh") + private String zczbhhzbapzbh; + + /** + * 规格型号 + */ + @TableField(value = "ggxh") + private String ggxh; + + /** + * 包装级别 + */ + @TableField(value = "packRatio") + private String packRatio; + + /** + * 供应商id + */ + @TableField(value = "supId") + private Long supId; + + /** + * 供应商名称 + */ + @TableField(value = "supName") + private String supName; + + /** + * 订单该产品实际数量 + */ + @TableField(value = "`count`") + private Integer count; + + /** + * 价格 + */ + @TableField(value = "price") + private BigDecimal price; + + /** + * 销售发票号(第一票) + */ + @TableField(value = "firstSalesInvNo") + private String firstSalesInvNo; + + /** + * 销售发票号(第二票) + */ + @TableField(value = "secSalesInvNo") + private String secSalesInvNo; + + /** + * 销售清单号(第二票) + */ + @TableField(value = "secSalesListNo") + private String secSalesListNo; + + /** + * 开票日期 + */ + @TableField(value = "invoiceDate") + private String invoiceDate; + + @TableField(value = "remark") + private String remark; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurContractEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurContractEntity.java new file mode 100644 index 000000000..479195a71 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurContractEntity.java @@ -0,0 +1,170 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 采购合同表 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "pur_contract") +public class PurContractEntity implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 合同编号 + */ + @TableField(value = "code") + private String code; + + /** + * 合同名称 + */ + @TableField(value = "`name`") + private String name; + + /** + * 往来单位/供应商 + */ + @TableField(value = "fromCorp") + private String fromCorp; + + /** + * 合同签订日期 + */ + @TableField(value = "contractDate") + private Date contractDate; + + /** + * 当前仓库 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 合同状态 + */ + @TableField(value = "`status`") + private Integer status; + + /** + * 合同类型 + */ + @TableField(value = "`type`") + private Integer type; + + /** + * 付款方式 + */ + @TableField(value = "payType") + private String payType; + + /** + * 开始时间 + */ + @TableField(value = "startDate") + private Date startDate; + + /** + * 截止时间 + */ + @TableField(value = "endDate") + private Date endDate; + + /** + * 合同金额 + */ + @TableField(value = "amount") + private BigDecimal amount; + + /** + * 实付金额 + */ + @TableField(value = "payAmount") + private BigDecimal payAmount; + + /** + * 付款日期 + */ + @TableField(value = "payDate") + private Date payDate; + + /** + * 开票日期 + */ + @TableField(value = "invoiceDate") + private Date invoiceDate; + + /** + * 采购计划ID外键 + */ + @TableField(value = "planOrderIdFk") + private String planOrderIdFk; + + /** + * 采购订单外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + private String createUser; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 审批表主键 + */ + @TableField(value = "approvalFlowId") + private String approvalFlowId; + + /** + * 是否生成订单 1.已生成;0.未生成 + */ + @TableField(value = "isGenerateOrder") + private Integer isGenerateOrder; + + @TableField(value = "pageType") + private Integer pageType; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java index d7b3210a5..161d72ccc 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java @@ -62,6 +62,9 @@ public class PurOrderDetailEntity { @TableField(value = "destinyId") private String destinyId; + @TableField(exist = false) + private Integer pageType; + public static final String COL_ID = "id"; public static final String COL_ORDERIDFK = "orderIdFk"; diff --git a/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java index 0357540b3..8811d0cb9 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java @@ -154,6 +154,9 @@ public class PurOrderEntity { @TableField(value = "approvalFlowId") private String approvalFlowId; + @TableField(value = "pageType") + private Integer pageType; + public static final String COL_ID = "id"; public static final String COL_BILLNO = "billNo"; diff --git a/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java index 5047816fd..ce1d9c97b 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java @@ -150,6 +150,14 @@ public class PurPlanEntity { @TableField(value = "approvalFlowId") private String approvalFlowId; + /** + * 是否导入 + */ + @TableField(value = "importStatus") + private Integer importStatus; + + @TableField(value = "pageType") + private Integer pageType; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/enums/dev/DeviceChangeStatusEnum.java b/src/main/java/com/glxp/api/enums/dev/DeviceChangeStatusEnum.java index 6c0375c9d..3c25bcde2 100644 --- a/src/main/java/com/glxp/api/enums/dev/DeviceChangeStatusEnum.java +++ b/src/main/java/com/glxp/api/enums/dev/DeviceChangeStatusEnum.java @@ -14,6 +14,7 @@ public enum DeviceChangeStatusEnum { DRAFT("draft", "草稿"), WAIT_CONFIRM("wait_confirm", "待目标部门确认"), REJECT_CONFIRM("reject_confirm", "目标部门拒绝"), + AUDITING("Auditing", "审核中"), FINISH("finish", "已完成"), // 只有type为change才可以取消 CANCEL("cancel", "已取消"), diff --git a/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyDetailStatusEnum.java b/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyDetailStatusEnum.java index 1b596ffa8..4f3e149de 100644 --- a/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyDetailStatusEnum.java +++ b/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyDetailStatusEnum.java @@ -11,10 +11,10 @@ import lombok.Getter; @AllArgsConstructor public enum DeviceRepairApplyDetailStatusEnum { - WAIT_DIAGNOSIS("wait_diagnosis", "待诊断"), + WAIT_DIAGNOSIS("wait_diagnosis", "待受理"), // WAIT_REPAIR("wait_repair", "待维修"), REPAIRING("repairing", "维修中"), - FINISH("finish", "完成"); + FINISH("finish", "已完成"); @EnumValue diff --git a/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyStatusEnum.java b/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyStatusEnum.java index 95bbea11f..2d898748a 100644 --- a/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyStatusEnum.java +++ b/src/main/java/com/glxp/api/enums/dev/DeviceRepairApplyStatusEnum.java @@ -11,10 +11,10 @@ import lombok.Getter; @AllArgsConstructor public enum DeviceRepairApplyStatusEnum { - WAIT_PROCESS("wait_process", "待受理"), - PROCESSING("processing", "受理中"), + WAIT_PROCESS("wait_process", "未受理"), + PROCESSING("processing", "部分受理"), // REPAIRING("repairing", "维修中"), - FINISH("finish", "完成"); + FINISH("finish", "已完成"); @EnumValue diff --git a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java index 881f9ffb4..e884f5200 100644 --- a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java @@ -78,4 +78,6 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { private String basicPrductRemak8; private String category; private String action; + + private List ids; } diff --git a/src/main/java/com/glxp/api/req/basic/SysApprovalFlowAddDetailRequest.java b/src/main/java/com/glxp/api/req/basic/SysApprovalFlowAddDetailRequest.java index 653b90983..646019af8 100644 --- a/src/main/java/com/glxp/api/req/basic/SysApprovalFlowAddDetailRequest.java +++ b/src/main/java/com/glxp/api/req/basic/SysApprovalFlowAddDetailRequest.java @@ -20,13 +20,13 @@ public class SysApprovalFlowAddDetailRequest { * 审批人主键 */ @TableField(value = "approvalUserId") - @NotEmpty(message = "审批人主键不可以为空!") +// @NotEmpty(message = "审批人主键不可以为空!") private String approvalUserId; /** * 审批人名称 */ @TableField(value = "approvalUserName") - @NotEmpty(message = "审批人名称不可以为空!") +// @NotEmpty(message = "审批人名称不可以为空!") private String approvalUserName; /** @@ -36,4 +36,25 @@ public class SysApprovalFlowAddDetailRequest { @NotNull(message = "排序不可以为空!") private Integer approvalSort; + /** + * 审批节点类型 + */ + @TableField(value = "approvalNodeType") + @NotNull(message = "审批节点类型不可以为空!") + private Integer approvalNodeType; + + /** + * 审批岗位序号 + */ + @TableField(value = "approvalPostId") +// @NotNull(message = "审批岗位序号不可以为空!") + private String approvalPostId; + + /** + * 审批岗位名称 + */ + @TableField(value = "approvalPostName") +// @NotNull(message = "审批岗位名称不可以为空!") + private String approvalPostName; + } diff --git a/src/main/java/com/glxp/api/req/dev/DeviceChangeOrderParam.java b/src/main/java/com/glxp/api/req/dev/DeviceChangeOrderParam.java index c87b3e847..fb430b653 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceChangeOrderParam.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceChangeOrderParam.java @@ -5,12 +5,15 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; +import com.glxp.api.constant.Constant; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceChangeOrderEntity; import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity; import com.glxp.api.enums.dev.DeviceChangeStatusEnum; import com.glxp.api.enums.dev.DeviceChangeTypeEnum; import com.glxp.api.exception.JsonException; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -40,6 +43,12 @@ public class DeviceChangeOrderParam { @NotNull(message = "类型不能为空") DeviceChangeTypeEnum type; + /** + * 单据号 + */ + @TableField(value = "billNo") + private String billNo; + /** * 目标部门 */ @@ -112,6 +121,11 @@ public class DeviceChangeOrderParam { @TableField(value = "createTime") private LocalDateTime createTime; + /** + * 移除类型 + */ + private Integer destroyType; + @Data public static class Item { /** @@ -543,7 +557,7 @@ public class DeviceChangeOrderParam { public DeviceChangeOrderEntity getOrderEntity(AuthAdmin user) { - if (orderId != null) { + if (billNo != null) { DeviceChangeOrderEntity deviceChangeOrderEntity = new DeviceChangeOrderEntity(); BeanUtil.copyProperties(this, deviceChangeOrderEntity); return deviceChangeOrderEntity; @@ -556,6 +570,7 @@ public class DeviceChangeOrderParam { .deptCode(deptCode) .toDeptCode(toDeptCode) .remark(remark) + .destroyType(destroyType) .createUser(user.getId()) .createUserName(user.getEmployeeName()) .createTime(LocalDateTime.now()) diff --git a/src/main/java/com/glxp/api/req/dev/DeviceCheckDetailMiniQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceCheckDetailMiniQuery.java new file mode 100644 index 000000000..aef28b8c5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/dev/DeviceCheckDetailMiniQuery.java @@ -0,0 +1,29 @@ +package com.glxp.api.req.dev; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class DeviceCheckDetailMiniQuery extends ListPageRequest { + + /** + * 部门编码 + */ + @NotBlank(message = "缺少部门编码") + private String deptCode; + + /** + * 模糊设备码和UDI + */ + private String deviceCodeAndUdi; + + /** + * 是否完成 + */ + private Boolean finishFlag; + + +} diff --git a/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailByDeptCodeQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailByDeptCodeQuery.java index 989d773ce..dbf5317f6 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailByDeptCodeQuery.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailByDeptCodeQuery.java @@ -9,10 +9,17 @@ import javax.validation.constraints.NotNull; @Data public class DeviceInfoDetailByDeptCodeQuery extends ListPageRequest { + + + /** + * 模糊设备码和UDI + */ + private String deviceCodeAndUdi; + /** * 部门编码 */ - @NotBlank(message = "缺少部门编码") +// @NotBlank(message = "缺少部门编码") private String deptCode; /** diff --git a/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailQuery.java index 202618519..08c0e85fc 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailQuery.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceInfoDetailQuery.java @@ -68,4 +68,7 @@ public class DeviceInfoDetailQuery extends ListPageRequest { private String zczbhhzbapzbh; + private String deviceCodeAndUdi; + + } diff --git a/src/main/java/com/glxp/api/req/dev/DevicePlanDetailItemParam.java b/src/main/java/com/glxp/api/req/dev/DevicePlanDetailItemParam.java index f143ae9d6..5f70da5c3 100644 --- a/src/main/java/com/glxp/api/req/dev/DevicePlanDetailItemParam.java +++ b/src/main/java/com/glxp/api/req/dev/DevicePlanDetailItemParam.java @@ -55,7 +55,7 @@ public class DevicePlanDetailItemParam { public List getEntity(DeviceCheckItemDictService deviceCheckItemDictService) { List list = deviceCheckItemDictService.listByIds(itemCodes); if (CollectionUtil.isEmpty(list)) { - throw new JsonException("所有项目编码都不存在,疑似非法操作"); + throw new JsonException("项目编码不存在,请确认"); } if (list.size() != itemCodes.size()) { Map> collect = list.stream().collect(Collectors.groupingBy(DeviceCheckItemDictEntity::getCode)); diff --git a/src/main/java/com/glxp/api/req/dev/DevicePlanDetailParam.java b/src/main/java/com/glxp/api/req/dev/DevicePlanDetailParam.java index 3f7e4e41f..5b341ecfc 100644 --- a/src/main/java/com/glxp/api/req/dev/DevicePlanDetailParam.java +++ b/src/main/java/com/glxp/api/req/dev/DevicePlanDetailParam.java @@ -41,7 +41,7 @@ public class DevicePlanDetailParam { public List getEntity(DeviceInfoService deviceInfoService) { List deviceList = deviceInfoService.listByIds(deviceCodes); if (CollectionUtil.isEmpty(deviceList)) { - throw new JsonException("未找到设备,疑似非法操作"); + throw new JsonException("设备编码不存在,请确认"); } List list = deviceList.stream().map(d -> { diff --git a/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java b/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java index ad5c042d2..3d936d116 100644 --- a/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java +++ b/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java @@ -67,7 +67,7 @@ public class DevicePlanParam { public void valid(DeptService deptService) { DeptEntity dept = deptService.selectByCode(chargeDeptCode); if (dept == null) { - throw new JsonException("负责部门不存在,疑似非法操作"); + throw new JsonException("负责部门不存在,请确认"); } if (startDate.isAfter(endDate)) { throw new JsonException("计划开始日期不能在计划结束日期之后"); diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java index 2ed2f7f10..5084b7598 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java @@ -37,6 +37,8 @@ public class DeviceRepairApplyAddParam { @NotEmpty(message = "请选择至少一个设备进行报修") Set details; + Long taskId; + @Data public static class ApplyDetail { @@ -89,7 +91,7 @@ public class DeviceRepairApplyAddParam { public List getDetailEntityList(Long applyId, DeviceInfoService deviceInfoService, AuthAdmin user) { List list = deviceInfoService.listVoByCodes(details.stream().map(ApplyDetail::getDeviceCode).collect(Collectors.toList()), user.getLocDeptCode(), DeviceStatusEnum.NORMAL); if (list.size() != details.size()) { - throw new JsonException("设备信息不匹配,疑似非法操作"); + throw new JsonException("设备状态异常或信息不符,请确认"); } Map> deviceMap = list.stream().collect(Collectors.groupingBy(DeviceInfoEntity::getDeviceCode)); return details.stream().map(d -> { diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyDetailMiniQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyDetailMiniQuery.java new file mode 100644 index 000000000..9f376a832 --- /dev/null +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyDetailMiniQuery.java @@ -0,0 +1,28 @@ +package com.glxp.api.req.dev; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class DeviceRepairApplyDetailMiniQuery extends ListPageRequest { + + /** + * 部门编码 + */ + @NotBlank(message = "缺少部门编码") + private String deptCode; + + /** + * 模糊设备码和UDI + */ + private String deviceCodeAndUdi; + + /** + * 状态 待诊断、待维修、维修中、完成', + */ + private String status; + + +} diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyHallQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyHallQuery.java index 9bf85f8a1..e08f0a304 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyHallQuery.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyHallQuery.java @@ -14,4 +14,6 @@ public class DeviceRepairApplyHallQuery extends ListPageRequest { */ String applyDeptCode; + Integer isFinish; + } diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyListByIdAndCodeQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyListByIdAndCodeQuery.java new file mode 100644 index 000000000..c52097fce --- /dev/null +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyListByIdAndCodeQuery.java @@ -0,0 +1,20 @@ +package com.glxp.api.req.dev; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class DeviceRepairApplyListByIdAndCodeQuery { + + @NotNull(message = "报修单标识不能为空") + Long applyId; + + /** + * 报修人联系方式 + */ + @NotBlank(message = "设备标识不可以为空") + String deviceCode; + +} diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyQuery.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyQuery.java index 9e3d81ae5..fe06f5ac5 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyQuery.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyQuery.java @@ -4,6 +4,8 @@ import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.List; + @Data public class DeviceRepairApplyQuery extends ListPageRequest { @@ -33,4 +35,6 @@ public class DeviceRepairApplyQuery extends ListPageRequest { */ String repairInfo; + List statuss; + } diff --git a/src/main/java/com/glxp/api/req/purchase/AddPurPlanDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/AddPurPlanDetailRequest.java new file mode 100644 index 000000000..4f3c54794 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/AddPurPlanDetailRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.purchase; + + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Data +public class AddPurPlanDetailRequest { + + @NotEmpty(message ="产品id不可为空!") + private String[] productIds; + + /** + * 采购计划ID外键 + */ + @NotEmpty(message = "采购订单id不可为空!") + private String orderIdFk; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PostPurContractRequest.java b/src/main/java/com/glxp/api/req/purchase/PostPurContractRequest.java new file mode 100644 index 000000000..c9de2c93c --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PostPurContractRequest.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.purchase; + +import com.glxp.api.entity.purchase.PurContractDetailEntity; +import com.glxp.api.entity.purchase.PurContractEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class PostPurContractRequest { + Integer editStatus; + PurContractEntity purContractEntity; + List purContractDetailEntities; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PurApplyDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/PurApplyDetailRequest.java index 0e598e7b8..d36240f24 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurApplyDetailRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurApplyDetailRequest.java @@ -68,4 +68,6 @@ public class PurApplyDetailRequest extends ListPageRequest { */ private String endDate; private String nameCode; + + private Integer pageType; } diff --git a/src/main/java/com/glxp/api/req/purchase/PurApplyRequest.java b/src/main/java/com/glxp/api/req/purchase/PurApplyRequest.java index 027d7079b..f9b7215c8 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurApplyRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurApplyRequest.java @@ -115,4 +115,6 @@ public class PurApplyRequest extends ListPageRequest { private Boolean sysApprovalFlow; + private Integer pageType; + } diff --git a/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java new file mode 100644 index 000000000..0cfda7324 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PurContractDetailRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.purchase; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class PurContractDetailRequest extends ListPageRequest { + + /** + * 合同外键 + */ + @NotBlank(message = "合同外键不能为空") + private String orderIdFk; + +} diff --git a/src/main/java/com/glxp/api/req/purchase/PurContractRequest.java b/src/main/java/com/glxp/api/req/purchase/PurContractRequest.java new file mode 100644 index 000000000..5607d59da --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PurContractRequest.java @@ -0,0 +1,46 @@ +package com.glxp.api.req.purchase; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class PurContractRequest extends ListPageRequest { + + + /** + * 合同编号 + */ + private String code; + + + /** + * 合同名称 + */ + private String name; + + /** + * 合同状态 + */ + private Integer status; + + /** + * 合同签订日期 + */ + private String startDate; + + /** + * 合同签订日期 + */ + private String endDate; + + /** + * 是否生成订单 1.已生成;0.未生成 + */ + private Integer isGenerateOrder; + + private Boolean sysApprovalFlow; + + @TableField(value = "pageType") + private Integer pageType; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PurOrderDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/PurOrderDetailRequest.java index 8624bbfcd..dd51fd420 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurOrderDetailRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurOrderDetailRequest.java @@ -1,6 +1,7 @@ package com.glxp.api.req.purchase; +import com.baomidou.mybatisplus.annotation.TableField; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -76,4 +77,9 @@ public class PurOrderDetailRequest extends ListPageRequest { */ private String manufactory; private String nameCode; + + + @TableField(value = "pageType") + private Integer pageType; + } diff --git a/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java b/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java index f0069c683..c50082e28 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java @@ -1,6 +1,7 @@ package com.glxp.api.req.purchase; +import com.baomidou.mybatisplus.annotation.TableField; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -98,6 +99,7 @@ public class PurOrderRequest extends ListPageRequest { private String orderBy; private Boolean sysApprovalFlow; - + @TableField(value = "pageType") + private Integer pageType; } diff --git a/src/main/java/com/glxp/api/req/purchase/PurPlanDetailRequest.java b/src/main/java/com/glxp/api/req/purchase/PurPlanDetailRequest.java index b925d8e46..b91ea7ccc 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurPlanDetailRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurPlanDetailRequest.java @@ -1,6 +1,7 @@ package com.glxp.api.req.purchase; +import com.baomidou.mybatisplus.annotation.TableField; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -78,4 +79,7 @@ public class PurPlanDetailRequest extends ListPageRequest { private String nameCode; private String checksupId; + @TableField(value = "pageType") + private Integer pageType; + } diff --git a/src/main/java/com/glxp/api/req/purchase/PurPlanRequest.java b/src/main/java/com/glxp/api/req/purchase/PurPlanRequest.java index dc8f2d869..af7202dc7 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurPlanRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurPlanRequest.java @@ -1,6 +1,7 @@ package com.glxp.api.req.purchase; +import com.baomidou.mybatisplus.annotation.TableField; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -100,7 +101,13 @@ public class PurPlanRequest extends ListPageRequest { private Boolean sysApprovalFlow; + /** + * 是否导入 + */ + @TableField(value = "importStatus") + private Integer importStatus; - + @TableField(value = "pageType") + private Integer pageType; } diff --git a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java index eb88aa88e..d31ba24da 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + @Data public class UdiRlSupResponse { diff --git a/src/main/java/com/glxp/api/res/dev/DeviceRepairApplyDetailMiniResponse.java b/src/main/java/com/glxp/api/res/dev/DeviceRepairApplyDetailMiniResponse.java new file mode 100644 index 000000000..435266928 --- /dev/null +++ b/src/main/java/com/glxp/api/res/dev/DeviceRepairApplyDetailMiniResponse.java @@ -0,0 +1,202 @@ +package com.glxp.api.res.dev; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.glxp.api.enums.dev.DeviceRepairApplyDetailStatusEnum; +import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class DeviceRepairApplyDetailMiniResponse { + + /** + * 报修单id + */ + @TableField(value = "applyId") + private Long applyId; + + /** + * 设备编码 + */ + @TableField(value = "deviceCode") + private String deviceCode; + + /** + * 部门编码 + */ + @TableField(value = "deptCode") + private String deptCode; + + /** + * 部门名称 + */ + @TableField(value = "deptName") + private String deptName; + + /** + * 问题描述 + */ + @TableField(value = "description") + private String description; + + /** + * 诊断信息 + */ + @TableField(value = "diagnosisInfo") + private String diagnosisInfo; + + /** + * 状态 待诊断、待维修、维修中、完成 + */ + @TableField(value = "status") + private DeviceRepairApplyDetailStatusEnum status; + + /** + * 是否需要维修 true/false + */ + @TableField(value = "repairFlag") + private Boolean repairFlag; + + /** + * 维修单id + */ + @TableField(value = "repairId") + private Long repairId; + + /** + * 产品id + */ + @TableField(value = "productId") + private Long productId; + + /** + * UDI码 + */ + @TableField(value = "udi") + private String udi; + + /** + * DI码 + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * 产品名称 + */ + @TableField(value = "productName") + private String productName; + + /** + * 规格型号 + */ + @TableField(value = "ggxh") + private String ggxh; + + + + /** + * 报修单id + */ + @TableId(value = "id") + private Long id; + +// /** +// * 状态 待受理,受理中,维修中,完成 +// */ +// @TableField(value = "status") +// private DeviceRepairApplyStatusEnum status; + + /** + * 报修部门编码 + */ + @TableField(value = "applyDeptCode") + private String applyDeptCode; + + /** + * 报修部门 + */ + @TableField(value = "applyDeptName") + private String applyDeptName; + + /** + * 报修人id + */ + @TableField(value = "applyUserId") + private Long applyUserId; + + /** + * 报修人姓名 + */ + @TableField(value = "applyUserName") + private String applyUserName; + + /** + * 报修人联系方式 + */ + @TableField(value = "applyUserPhone") + private String applyUserPhone; + + /** + * 报修时间 + */ + @TableField(value = "applyTime") + private LocalDateTime applyTime; + + /** + * 设备数量 + */ + @TableField(value = "deviceCount") + private Integer deviceCount; + + /** + * 完成数量 + */ + @TableField(value = "finishCount") + private Integer finishCount; + + /** + * 确认部门 + */ + @TableField(value = "confirmDeptCode") + private String confirmDeptCode; + + /** + * 确认部门名称 + */ + @TableField(value = "confirmDeptName") + private String confirmDeptName; + + /** + * 确认人id + */ + @TableField(value = "confirmUserId") + private Long confirmUserId; + + /** + * 确认人姓名 + */ + @TableField(value = "confirmUserName") + private String confirmUserName; + + /** + * 确认人联系方式 + */ + @TableField(value = "confirmPhone") + private String confirmPhone; + + /** + * 确认时间 + */ + @TableField(value = "confirmTime") + private LocalDateTime confirmTime; + + /** + * 完成时间 + */ + @TableField(value = "finishTime") + private LocalDateTime finishTime; + +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurContractEntityResponse.java b/src/main/java/com/glxp/api/res/purchase/PurContractEntityResponse.java new file mode 100644 index 000000000..5b9619e2a --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/PurContractEntityResponse.java @@ -0,0 +1,174 @@ +package com.glxp.api.res.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 采购合同表 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PurContractEntityResponse implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 合同编号 + */ + @TableField(value = "code") + private String code; + + /** + * 合同名称 + */ + @TableField(value = "`name`") + private String name; + + /** + * 往来单位/供应商 + */ + @TableField(value = "fromCorp") + private String fromCorp; + + /** + * 合同签订日期 + */ + @TableField(value = "contractDate") + private Date contractDate; + + /** + * 当前仓库 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 合同状态 + */ + @TableField(value = "`status`") + private Integer status; + + /** + * 合同类型 + */ + @TableField(value = "`type`") + private Integer type; + + /** + * 付款方式 + */ + @TableField(value = "payType") + private String payType; + + /** + * 开始时间 + */ + @TableField(value = "startDate") + private Date startDate; + + /** + * 截止时间 + */ + @TableField(value = "endDate") + private Date endDate; + + /** + * 合同金额 + */ + @TableField(value = "amount") + private BigDecimal amount; + + /** + * 实付金额 + */ + @TableField(value = "payAmount") + private BigDecimal payAmount; + + /** + * 付款日期 + */ + @TableField(value = "payDate") + private Date payDate; + + /** + * 开票日期 + */ + @TableField(value = "invoiceDate") + private Date invoiceDate; + + /** + * 采购计划ID外键 + */ + @TableField(value = "planOrderIdFk") + private String planOrderIdFk; + + /** + * 采购订单外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + private String createUser; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 审批表主键 + */ + @TableField(value = "approvalFlowId") + private String approvalFlowId; + + private String nextNodeName; + + private Integer nextApprovalNodeType; + /** + * 是否生成订单 1.已生成;0.未生成 + */ + @TableField(value = "isGenerateOrder") + private Integer isGenerateOrder; + + /** + * 合同状态 + */ + @TableField(value = "`flowStatus`") + private Integer flowStatus; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java b/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java index 072fef23b..19368ecc0 100644 --- a/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java +++ b/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java @@ -90,4 +90,10 @@ public class PurPlanResponse { private String flowAuditByName; private String approvalFlowId; + + /** + * 是否导入 + */ + @TableField(value = "importStatus") + private Integer importStatus; } diff --git a/src/main/java/com/glxp/api/service/basic/SysApprovalFlowService.java b/src/main/java/com/glxp/api/service/basic/SysApprovalFlowService.java index fab9d2132..f22c4abee 100644 --- a/src/main/java/com/glxp/api/service/basic/SysApprovalFlowService.java +++ b/src/main/java/com/glxp/api/service/basic/SysApprovalFlowService.java @@ -16,4 +16,8 @@ public interface SysApprovalFlowService extends IService { List getDetailList(String approvalFlowId); void submitApprovalFlow(SubmitApprovalFlowRequest submitApprovalFlowRequest); + + SysApprovalFlow getApprovalFlowByMxId(String approvalFlowMxId); + + boolean nodePermissions(String id); } diff --git a/src/main/java/com/glxp/api/service/basic/impl/SysApprovalFlowServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/SysApprovalFlowServiceImpl.java index 6ee8c4074..bb281c673 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/SysApprovalFlowServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/SysApprovalFlowServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.basic.SysApprovalFlowMapper; import com.glxp.api.dao.basic.SysApprovalFlowMxMapper; +import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.basic.SysApprovalFlow; import com.glxp.api.entity.basic.SysApprovalFlowConfigMx; import com.glxp.api.entity.basic.SysApprovalFlowMx; @@ -64,7 +65,7 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl mxs = new ArrayList<>(); - generateFlowMx(type,approvalFlowId,userId,date,mxs); + generateFlowMx(type,approvalFlowId,userId,date,mxs,sysApprovalFlow); sysApprovalFlowMapper.insert(sysApprovalFlow); sysApprovalFlowMxMapper.insertBatch(mxs); @@ -151,6 +152,43 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); @@ -191,6 +229,7 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl mxs) { + private void generateFlowMx(String type,String approvalFlowId, Long userId, Date date, ArrayList mxs,SysApprovalFlow sysApprovalFlow) { List list = sysApprovalFlowConfigService.getDetailList(type); if (CollectionUtil.isNotEmpty(list)){ + SysApprovalFlowConfigMx sysApprovalFlowConfigMx = list.get(0); + if (sysApprovalFlowConfigMx.getApprovalNodeType() == 1 ){ + sysApprovalFlow.setNextNodeName(sysApprovalFlowConfigMx.getApprovalUserName()); + sysApprovalFlow.setNextApprovalNodeType(1); + }else if (sysApprovalFlowConfigMx.getApprovalNodeType() == 2 ){ + sysApprovalFlow.setNextNodeName(sysApprovalFlowConfigMx.getApprovalPostName()); + sysApprovalFlow.setNextApprovalNodeType(2); + } + list.forEach( item -> { SysApprovalFlowMx sysApprovalFlowMx = new SysApprovalFlowMx(); sysApprovalFlowMx.setId(UUID.randomUUID().toString().replace("-", "")); sysApprovalFlowMx.setApprovalFlowId(approvalFlowId); sysApprovalFlowMx.setApprovalUserId(item.getApprovalUserId()); sysApprovalFlowMx.setApprovalUserName(item.getApprovalUserName()); + sysApprovalFlowMx.setApprovalNodeType(item.getApprovalNodeType()); + sysApprovalFlowMx.setApprovalPostId(item.getApprovalPostId()); + sysApprovalFlowMx.setApprovalPostName(item.getApprovalPostName()); sysApprovalFlowMx.setApprovalStatus(ApprovalStatusEnum.DWSH.getCode()); sysApprovalFlowMx.setApprovalSort(item.getApprovalSort()); @@ -218,6 +269,9 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl miniPage(DeviceCheckDetailMiniQuery query); } diff --git a/src/main/java/com/glxp/api/service/dev/DeviceRepairApplyDetailService.java b/src/main/java/com/glxp/api/service/dev/DeviceRepairApplyDetailService.java index 835cd72c9..b180fdbf1 100644 --- a/src/main/java/com/glxp/api/service/dev/DeviceRepairApplyDetailService.java +++ b/src/main/java/com/glxp/api/service/dev/DeviceRepairApplyDetailService.java @@ -5,7 +5,10 @@ import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam; +import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery; import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery; +import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery; +import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse; import java.util.List; @@ -31,4 +34,8 @@ public interface DeviceRepairApplyDetailService extends IService miniPage(DeviceRepairApplyDetailMiniQuery query); +} diff --git a/src/main/java/com/glxp/api/service/dev/DeviceRepairService.java b/src/main/java/com/glxp/api/service/dev/DeviceRepairService.java index 007bb83b7..1f28dd86b 100644 --- a/src/main/java/com/glxp/api/service/dev/DeviceRepairService.java +++ b/src/main/java/com/glxp/api/service/dev/DeviceRepairService.java @@ -26,8 +26,8 @@ public interface DeviceRepairService extends IService { * 完成维修 * 同时改变设备状态 * - * @param repairId 维修单id + * @param deviceRepairEntity 维修单id * @param user 用户信息 */ - void finishByUser(Long repairId, AuthAdmin user); + void finishByUser(DeviceRepairEntity deviceRepairEntity, AuthAdmin user); } diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java index 4dc5e86ad..6ab162858 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.DeptEntity; import com.glxp.api.entity.basic.BasicProductsEntity; @@ -27,12 +28,16 @@ import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.auth.DeptService; import com.glxp.api.service.basic.ProductInfoService; +import com.glxp.api.service.basic.SysApprovalFlowService; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.dev.DeviceChangeLogService; import com.glxp.api.service.dev.DeviceChangeOrderItemService; import com.glxp.api.service.dev.DeviceChangeOrderService; import com.glxp.api.dao.dev.DeviceChangeOrderMapper; import com.glxp.api.service.dev.DeviceInfoService; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; import com.glxp.api.util.StringUtils; import com.glxp.api.vo.dev.DeviceChangeOrderVo; @@ -40,6 +45,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.sql.SQLException; import java.time.LocalDateTime; import java.util.ArrayList; @@ -59,6 +65,17 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl listByVo(DeviceChangeOrderQuery query, AuthAdmin user) { @@ -71,6 +88,15 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl orderItems = param.getDraftOrderItemList(order.getOrderId(), user); @@ -83,6 +109,16 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl orderItems = param.getOrderItemList(order.getOrderId(), user); List logs = new ArrayList<>(); + Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); orderItems.forEach(i -> { if (order.getType() == DeviceChangeTypeEnum.ADD) { - UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString()); - if (productInfo == null) { - throw new JsonException(String.format("未找到设备 %s", i.getProductName())); - } - i.setNameCode(productInfo.getNameCode()) - .setProductName(productInfo.getCpmctymc()) - .setGgxh(productInfo.getGgxh()) - .setMeasname(productInfo.getMeasname()) - .setManufactory(productInfo.getManufactory()) - .setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh()) - .setSupId(productInfo.getUnitFk()) - .setSupName(productInfo.getSupName()) - ; +// UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString()); +// if (productInfo == null) { +// throw new JsonException(String.format("未找到设备 %s", i.getProductName())); +// } +// i.setNameCode(productInfo.getNameCode()) +// .setProductName(productInfo.getCpmctymc()) +// .setGgxh(productInfo.getGgxh()) +// .setMeasname(productInfo.getMeasname()) +// .setManufactory(productInfo.getManufactory()) +// .setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh()) +// .setSupId(productInfo.getUnitFk()) +// .setSupName(productInfo.getSupName()) +// ; DeviceInfoEntity deviceInfoEntity = BeanUtil.copyProperties(i, DeviceInfoEntity.class); deviceInfoEntity.setCheckLock(false); deviceInfoEntity.setCreateUserId(order.getCreateUser()); @@ -120,18 +157,18 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl implements DeviceCheckDetailService { - final DeviceCheckService deviceCheckService; - final DeviceInfoService deviceInfoService; - final DeviceRepairService deviceRepairService; + @Resource + DeviceCheckService deviceCheckService; + @Resource + DeviceInfoService deviceInfoService; + @Resource + DeviceRepairService deviceRepairService; @Override public List pageList(DeviceCheckDetailQuery query) { @@ -141,6 +144,26 @@ public class DeviceCheckDetailServiceImpl extends ServiceImpl miniPage(DeviceCheckDetailMiniQuery query) { + if (query.getPage() != null) { + PageHelper.startPage(query.getPage(), query.getLimit()); + } + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(DeviceCheckDetailEntity.class) + .eq(DeviceCheckDetailEntity::getDeptCode, query.getDeptCode()); + if (StrUtil.isNotBlank(query.getDeviceCodeAndUdi())) { + queryWrapper.and(qW -> { + qW.like(DeviceCheckDetailEntity::getDeviceCode, query.getDeviceCodeAndUdi()) + .or().like(DeviceCheckDetailEntity::getUdi, query.getDeviceCodeAndUdi()); + }); + } + if (query.getFinishFlag() != null) { + queryWrapper.eq(DeviceCheckDetailEntity::getFinishFlag, query.getFinishFlag()); + } + List list = super.list(queryWrapper); + return list; + } } diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java index 204783339..13c5762c5 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java @@ -1,11 +1,15 @@ package com.glxp.api.service.dev.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.BeanUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.dev.DeviceCheckDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.entity.dev.DeviceRepairEntity; @@ -14,12 +18,12 @@ import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.exception.JsonException; import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam; +import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery; import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery; -import com.glxp.api.service.dev.DeviceInfoService; -import com.glxp.api.service.dev.DeviceRepairApplyDetailService; +import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery; +import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse; +import com.glxp.api.service.dev.*; import com.glxp.api.dao.dev.DeviceRepairApplyDetailMapper; -import com.glxp.api.service.dev.DeviceRepairApplyService; -import com.glxp.api.service.dev.DeviceRepairService; import com.glxp.api.util.SnowflakeUtil; import groovy.util.logging.Slf4j; import lombok.RequiredArgsConstructor; @@ -28,6 +32,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; @@ -42,6 +47,11 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl list = super.list(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class) + .eq(DeviceRepairApplyDetailEntity::getApplyId, applyId) + .eq(DeviceRepairApplyDetailEntity::getStatus, DeviceRepairApplyDetailStatusEnum.WAIT_DIAGNOSIS)); + if (CollectionUtil.isNotEmpty(list)){ + deviceRepairApplyService.update(Wrappers.lambdaUpdate(DeviceRepairApplyEntity.class) + .set(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyStatusEnum.PROCESSING) + .eq(DeviceRepairApplyEntity::getId, applyId)); + }else { + deviceRepairApplyService.update(Wrappers.lambdaUpdate(DeviceRepairApplyEntity.class) + .set(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyStatusEnum.FINISH) + .eq(DeviceRepairApplyEntity::getId, applyId)); + } } @Override @@ -135,6 +175,32 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl miniPage(DeviceRepairApplyDetailMiniQuery query) { + if (query.getPage() != null) { + PageHelper.startPage(query.getPage(), query.getLimit()); + } + return super.baseMapper.miniPage(query); + } } diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyServiceImpl.java index ee367b928..598633af0 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.dev.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -7,27 +8,28 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.dev.DeviceCheckDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; -import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.req.dev.DeviceRepairApplyAddParam; import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam; import com.glxp.api.req.dev.DeviceRepairApplyQuery; +import com.glxp.api.service.dev.DeviceCheckDetailService; import com.glxp.api.service.dev.DeviceInfoService; -import com.glxp.api.service.dev.DeviceReceiveOrderDetailService; +import com.glxp.api.dao.dev.DeviceRepairApplyMapper; import com.glxp.api.service.dev.DeviceRepairApplyDetailService; import com.glxp.api.service.dev.DeviceRepairApplyService; -import com.glxp.api.dao.dev.DeviceRepairApplyMapper; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 针对表【device_repair_apply(设备报修单)】的数据库操作Service实现 @@ -37,8 +39,11 @@ import java.util.List; public class DeviceRepairApplyServiceImpl extends ServiceImpl implements DeviceRepairApplyService { + @Resource + DeviceInfoService deviceInfoService; + @Resource + DeviceCheckDetailService deviceCheckDetailService; - private final DeviceInfoService deviceInfoService; @Autowired @Lazy @@ -46,14 +51,18 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl pageList(DeviceRepairApplyQuery query) { - String acceptInfo = query.getAcceptInfo(); - String repairInfo = query.getRepairInfo(); if (query.getPage() != null) { PageHelper.startPage(query.getPage(), query.getLimit()); } + List statuss = query.getStatuss(); + DeviceRepairApplyStatusEnum status = query.getStatus(); + if (status != null){ + statuss.add(status); + } + String acceptInfo = query.getAcceptInfo(); + String repairInfo = query.getRepairInfo(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(DeviceRepairApplyEntity.class); wrapper.eq(query.getApplyId() != null, DeviceRepairApplyEntity::getId, query.getApplyId()) - .eq(query.getStatus() != null, DeviceRepairApplyEntity::getStatus, query.getStatus()) .eq(query.getConfirmUserId() != null, DeviceRepairApplyEntity::getConfirmUserId, query.getConfirmUserId()) .eq(StrUtil.isNotBlank(query.getApplyDeptCode()), DeviceRepairApplyEntity::getApplyDeptCode, query.getApplyDeptCode()) .orderByDesc(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyEntity::getApplyTime); @@ -81,6 +90,12 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl statusValues = statuss.stream() + .map(DeviceRepairApplyStatusEnum::getKey) // 假设 getStatusValue() 是获取用于查询的字符串值的方法 + .collect(Collectors.toList()); + wrapper.in(DeviceRepairApplyEntity::getStatus, statusValues); + } List list = super.list(wrapper); return list; @@ -100,8 +115,16 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user); + Long taskId = param.getTaskId(); detailEntityList.forEach(d -> { deviceInfoService.repairApply(d.getDeviceCode(), d.getDeptCode(), d.getApplyId()); + if (taskId != null){ + deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class) + .set(DeviceCheckDetailEntity::getApplyId, repairApply.getId()) + .eq(DeviceCheckDetailEntity::getTaskId, taskId) + .eq(DeviceCheckDetailEntity::getDeviceCode, d.getDeviceCode()) + ); + } }); super.save(repairApply); repairApplyDetailService.saveBatch(detailEntityList); diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java index 034ca23dc..6aee14796 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java @@ -18,6 +18,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; @@ -30,8 +31,10 @@ import java.util.List; public class DeviceRepairServiceImpl extends ServiceImpl implements DeviceRepairService { - final DeviceRepairApplyDetailService deviceRepairApplyDetailService; - final DeviceInfoService deviceInfoService; + @Resource + DeviceRepairApplyDetailService deviceRepairApplyDetailService; + @Resource + DeviceInfoService deviceInfoService; @Override public List pageList(DeviceRepairQuery query) { @@ -61,7 +64,11 @@ public class DeviceRepairServiceImpl extends ServiceImpl { + + @Resource + PurContractDetailMapper purContractDetailMapper; + @Resource + UdiRlSupDao udiRlSupDao; + + public int insert(AddPurPlanDetailRequest addPurPlanDetailRequest) { + String orderIdFk = addPurPlanDetailRequest.getOrderIdFk(); + String[] ids = addPurPlanDetailRequest.getProductIds(); + if (ids.length > 0 ){ + CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); + companyProductRelevanceRequest.setIds(Arrays.asList(ids)); + companyProductRelevanceRequest.setDiType(1); + List entities = udiRlSupDao.filterUdiGp(companyProductRelevanceRequest); + if (CollectionUtil.isNotEmpty(entities)){ + entities.forEach( x-> { + PurContractDetailEntity purContractDetailEntity = new PurContractDetailEntity(); + BeanUtils.copyProperties(x,purContractDetailEntity); + purContractDetailEntity.setOrderIdFk(orderIdFk); + purContractDetailEntity.setProductId(x.getRlId()); + purContractDetailEntity.setProductUniqueId(x.getUuid()); + purContractDetailEntity.setNameCode(x.getNameCode()); + purContractDetailEntity.setProductName(x.getCpmctymc()); + purContractDetailEntity.setProductCompany(x.getManufactory()); + purContractDetailEntity.setZczbhhzbapzbh(x.getZczbhhzbapzbh()); + purContractDetailEntity.setGgxh(x.getGgxh()); + purContractDetailEntity.setPackRatio(x.getPackRatio()); + purContractDetailEntity.setSupId(x.getCustomerId()); + purContractDetailEntity.setSupName(x.getSupName()); + purContractDetailEntity.setCount(1); + purContractDetailEntity.setPrice(new BigDecimal(StrUtil.isEmpty(x.getPrice())?"0":x.getPrice())); + purContractDetailMapper.insert(purContractDetailEntity); + }); + } + } + return 1; + } + + public IPage queryPageList(PurContractDetailRequest purContractDetailRequest) { + QueryWrapper wrapper = buildPurContractDetailQueryWrapper(purContractDetailRequest); + IPage page = new Page<>(purContractDetailRequest.getPage(), purContractDetailRequest.getLimit()); + return purContractDetailMapper.selectPage(page, wrapper); + } + + /** + * 构造查询条件 + * + * @param purContractDetailRequest + * @return + */ + private QueryWrapper buildPurContractDetailQueryWrapper(PurContractDetailRequest purContractDetailRequest) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StrUtil.isNotBlank(purContractDetailRequest.getOrderIdFk()), "orderIdFk", purContractDetailRequest.getOrderIdFk()) + .orderByDesc("id"); + return wrapper; + } + + public int deleteByOrderId(Long id) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("orderIdFk",id); + return purContractDetailMapper.delete(uw); + } + + public int deleteByIds(List asList) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.in("id",asList); + return purContractDetailMapper.delete(uw); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java new file mode 100644 index 000000000..2189b0447 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurContractService.java @@ -0,0 +1,127 @@ +package com.glxp.api.service.purchase.impl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +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.service.impl.ServiceImpl; +import com.glxp.api.dao.purchase.PurContractDetailMapper; +import com.glxp.api.dao.purchase.PurContractMapper; +import com.glxp.api.dao.purchase.PurPlanDao; +import com.glxp.api.dao.purchase.PurPlanDetailDao; +import com.glxp.api.entity.purchase.PurContractDetailEntity; +import com.glxp.api.entity.purchase.PurContractEntity; +import com.glxp.api.entity.purchase.PurPlanDetailEntity; +import com.glxp.api.entity.purchase.PurPlanEntity; +import com.glxp.api.req.purchase.PurApplyDetailRequest; +import com.glxp.api.req.purchase.PurContractRequest; +import com.glxp.api.req.purchase.PurPlanDetailRequest; +import com.glxp.api.res.purchase.PurContractEntityResponse; +import com.glxp.api.res.purchase.PurOrderDetailResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@Service +public class PurContractService extends ServiceImpl { + + @Resource + PurContractMapper purContractMapper; + @Resource + PurPlanDetailService purPlanDetailService; + @Resource + PurPlanDao purPlanDao; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + PurContractDetailMapper purContractDetailMapper; + @Resource + CustomerService customerService; + + public IPage queryPageList(PurContractRequest purContractRequest) { + IPage purPlanEntities = purContractMapper.selectPage(purContractRequest.getPageObj(),purContractRequest); + return purPlanEntities; + } +// +// /** +// * 构造查询条件 +// * +// * @param purContractRequest +// * @return +// */ +// private QueryWrapper buildPurContractQueryWrapper(PurContractRequest purContractRequest) { +// QueryWrapper wrapper = new QueryWrapper<>(); +// wrapper.like(StrUtil.isNotBlank(purContractRequest.getCode()), "code", purContractRequest.getCode()) +// .like(StrUtil.isNotBlank(purContractRequest.getName()), "name", purContractRequest.getName()) +// .eq(ObjectUtil.isNotNull(purContractRequest.getStatus()), "status", purContractRequest.getStatus()) +// .ge(StrUtil.isNotBlank(purContractRequest.getStartDate()), "contractDate", purContractRequest.getStartDate()) +// .le(StrUtil.isNotBlank(purContractRequest.getEndDate()), "contractDate", purContractRequest.getEndDate()) +// .orderByDesc("id"); +// return wrapper; +// } + + public int insert(PurContractEntity purContractEntity) { + return purContractMapper.insert(purContractEntity); + } + + public int deleteById(Long id) { + return purContractMapper.deleteById(id); + } + + /** + * 导入计划 + * + * @param id + */ + public void importPlan(Long id,Integer pageType) { + PurPlanEntity purPlanEntity = purPlanDao.selectById(id); + PurPlanDetailRequest purApplyDetailRequest = new PurPlanDetailRequest(); + purApplyDetailRequest.setOrderIdFk(String.valueOf(id)); + List purPlanDetailEntities = purPlanDetailService.joinQueryList(purApplyDetailRequest); + + PurContractEntity purContractEntity = new PurContractEntity(); + BeanUtils.copyProperties(purPlanEntity, purContractEntity); + Long userId = customerService.getUserId(); + purContractEntity.setCreateUser(userId + ""); + purContractEntity.setCreateTime(new Date()); + purContractEntity.setUpdateTime(new Date()); + purContractEntity.setUpdateUser(userId + ""); + purContractEntity.setStatus(1); //状态 + + String code = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("HT", "yyyyMMdd")); + purContractEntity.setCode(code); + purContractEntity.setId(null); + purContractEntity.setPageType(pageType); + purContractMapper.insert(purContractEntity); + Long newId = purContractEntity.getId(); + + if (purPlanDetailEntities.size() > 0){ + purPlanDetailEntities.forEach( item -> { + PurContractDetailEntity purContractDetailEntity = new PurContractDetailEntity(); + BeanUtils.copyProperties(item,purContractDetailEntity); + purContractDetailEntity.setOrderIdFk(String.valueOf(newId)); + purContractDetailMapper.insert(purContractDetailEntity); + }); + } + + purPlanEntity.setImportStatus(1); + purPlanDao.updateById(purPlanEntity); + } + + public boolean auditOrder(PurContractRequest purContractRequest) { + Long userId = customerService.getUserId(); + String code = purContractRequest.getCode(); + PurContractEntity one = super.getOne(new LambdaQueryWrapper<>(PurContractEntity.class).eq(PurContractEntity::getCode, code)); + one.setUpdateTime(new Date()); + one.setUpdateUser(userId + ""); + one.setStatus(purContractRequest.getStatus()); + return super.updateById(one); + } +} diff --git a/src/main/java/com/glxp/api/vo/dev/DeviceChangeOrderVo.java b/src/main/java/com/glxp/api/vo/dev/DeviceChangeOrderVo.java index ed3923bfa..5e3cf524c 100644 --- a/src/main/java/com/glxp/api/vo/dev/DeviceChangeOrderVo.java +++ b/src/main/java/com/glxp/api/vo/dev/DeviceChangeOrderVo.java @@ -1,8 +1,11 @@ package com.glxp.api.vo.dev; import com.glxp.api.entity.dev.DeviceChangeOrderEntity; +import com.glxp.api.enums.dev.DeviceChangeTypeEnum; import lombok.Data; +import java.util.Date; + @Data public class DeviceChangeOrderVo extends DeviceChangeOrderEntity { @@ -15,8 +18,30 @@ public class DeviceChangeOrderVo extends DeviceChangeOrderEntity { String statusName; + /** + * 状态(1.草稿,2.未审核,3.已审核,4.拒绝) + */ + private int flowStatus; + + /** + * 审核时间 + */ + private Date flowAuditTime; + + private String flowAuditByName; + public String getTypeName() { if (super.getType() != null) { + DeviceChangeTypeEnum type = super.getType(); + if (type.equals(DeviceChangeTypeEnum.DESTROY)){ + if (super.getDestroyType()!= null){ + if (super.getDestroyType() == 1){ + return "报废"; + }else { + return "销毁"; + } + } + } return super.getType().getDesc(); } return typeName; diff --git a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml index 3437e128f..3fb534b85 100644 --- a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml @@ -118,6 +118,9 @@ AND auth_dept.pcode = #{subordinateCode} + + AND auth_warehouse.code = #{code} + group by auth_warehouse.id diff --git a/src/main/resources/mybatis/mapper/basic/SysApprovalFlowConfigMxMapper.xml b/src/main/resources/mybatis/mapper/basic/SysApprovalFlowConfigMxMapper.xml index b813ecc64..9603104ad 100644 --- a/src/main/resources/mybatis/mapper/basic/SysApprovalFlowConfigMxMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/SysApprovalFlowConfigMxMapper.xml @@ -1,323 +1,5 @@ - - - - - - - - - - - - - - - - id, `type`, approvalUserId,approvalUserName, approvalSort, `createUser`, createTime, updateUser, updateTime - - - - - delete from sys_approval_flow_config_mx - where id = #{id,jdbcType=VARCHAR} - - - - insert into sys_approval_flow_config_mx (id, `type`, approvalUserId,approvalUserName, - approvalSort, `createUser`, createTime, - updateUser, updateTime) - values (#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{approvalUserId,jdbcType=VARCHAR}, #{approvalUserName,jdbcType=VARCHAR}, - #{approvalSort,jdbcType=INTEGER}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, - #{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}) - - - - insert into sys_approval_flow_config_mx - - - id, - - - `type`, - - - approvalUserId, - - - approvalUserName, - - - approvalSort, - - - `createUser`, - - - createTime, - - - updateUser, - - - updateTime, - - - - - #{id,jdbcType=VARCHAR}, - - - #{type,jdbcType=VARCHAR}, - - - #{approvalUserId,jdbcType=VARCHAR}, - - - #{approvalUserName,jdbcType=VARCHAR}, - - - #{approvalSort,jdbcType=INTEGER}, - - - #{createUser,jdbcType=VARCHAR}, - - - #{createTime,jdbcType=TIMESTAMP}, - - - #{updateUser,jdbcType=VARCHAR}, - - - #{updateTime,jdbcType=TIMESTAMP}, - - - - - - update sys_approval_flow_config_mx - - - `type` = #{type,jdbcType=VARCHAR}, - - - approvalUserId = #{approvalUserId,jdbcType=VARCHAR}, - - - approvalUserName = #{approvalUserName,jdbcType=VARCHAR}, - - - approvalSort = #{approvalSort,jdbcType=INTEGER}, - - - `createUser` = #{createUser,jdbcType=VARCHAR}, - - - createTime = #{createTime,jdbcType=TIMESTAMP}, - - - updateUser = #{updateUser,jdbcType=VARCHAR}, - - - updateTime = #{updateTime,jdbcType=TIMESTAMP}, - - - where id = #{id,jdbcType=VARCHAR} - - - - update sys_approval_flow_config_mx - set `type` = #{type,jdbcType=VARCHAR}, - approvalUserId = #{approvalUserId,jdbcType=VARCHAR}, - approvalUserName = #{approvalUserName,jdbcType=VARCHAR}, - approvalSort = #{approvalSort,jdbcType=INTEGER}, - `createUser` = #{createUser,jdbcType=VARCHAR}, - createTime = #{createTime,jdbcType=TIMESTAMP}, - updateUser = #{updateUser,jdbcType=VARCHAR}, - updateTime = #{updateTime,jdbcType=TIMESTAMP} - where id = #{id,jdbcType=VARCHAR} - - - - update sys_approval_flow_config_mx - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalUserId,jdbcType=VARCHAR} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalUserName,jdbcType=VARCHAR} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalSort,jdbcType=INTEGER} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.createUser,jdbcType=VARCHAR} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.updateUser,jdbcType=VARCHAR} - - - - - when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP} - - - - where id in - - #{item.id,jdbcType=VARCHAR} - - - - - insert into sys_approval_flow_config_mx - (id, `type`, approvalUserId, approvalUserName, approvalSort, `createUser`, createTime, updateUser, - updateTime) - values - - (#{item.id,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.approvalUserId,jdbcType=VARCHAR}, - #{item.approvalSort,jdbcType=INTEGER}, #{item.createUser,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, - #{item.updateUser,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}) - - - - - insert into sys_approval_flow_config_mx - (id, `type`, approvalUserId,approvalUserName, approvalSort, `createUser`, createTime, updateUser, - updateTime) - values - (#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{approvalUserId,jdbcType=VARCHAR},#{approvalUserName,jdbcType=VARCHAR}, - #{approvalSort,jdbcType=INTEGER}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, - #{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}) - on duplicate key update - id = #{id,jdbcType=VARCHAR}, - `type` = #{type,jdbcType=VARCHAR}, - approvalUserId = #{approvalUserId,jdbcType=VARCHAR}, - approvalUserName = #{approvalUserName,jdbcType=VARCHAR}, - approvalSort = #{approvalSort,jdbcType=INTEGER}, - `createUser` = #{createUser,jdbcType=VARCHAR}, - createTime = #{createTime,jdbcType=TIMESTAMP}, - updateUser = #{updateUser,jdbcType=VARCHAR}, - updateTime = #{updateTime,jdbcType=TIMESTAMP} - - - - insert into sys_approval_flow_config_mx - - - id, - - - `type`, - - - approvalUserId, - - - approvalUserName, - - - approvalSort, - - - `createUser`, - - - createTime, - - - updateUser, - - - updateTime, - - - values - - - #{id,jdbcType=VARCHAR}, - - - #{type,jdbcType=VARCHAR}, - - - #{approvalUserId,jdbcType=VARCHAR}, - - - #{approvalUserName,jdbcType=VARCHAR}, - - - #{approvalSort,jdbcType=INTEGER}, - - - #{createUser,jdbcType=VARCHAR}, - - - #{createTime,jdbcType=TIMESTAMP}, - - - #{updateUser,jdbcType=VARCHAR}, - - - #{updateTime,jdbcType=TIMESTAMP}, - - - on duplicate key update - - - id = #{id,jdbcType=VARCHAR}, - - - `type` = #{type,jdbcType=VARCHAR}, - - - approvalUserId = #{approvalUserId,jdbcType=VARCHAR}, - - - approvalUserName = #{approvalUserName,jdbcType=VARCHAR}, - - - approvalSort = #{approvalSort,jdbcType=INTEGER}, - - - `createUser` = #{createUser,jdbcType=VARCHAR}, - - - createTime = #{createTime,jdbcType=TIMESTAMP}, - - - updateUser = #{updateUser,jdbcType=VARCHAR}, - - - updateTime = #{updateTime,jdbcType=TIMESTAMP}, - - - + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index 4a3946bf0..d94206e66 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -250,10 +250,15 @@ AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false) - and (tp.flbm = #{flbm} or basic_products.flbm = #{flbm}) + + and company_product_relevance.id in + + #{item} + + ORDER BY company_product_relevance.updateTime DESC diff --git a/src/main/resources/mybatis/mapper/dev/DeviceChangeOrderMapper.xml b/src/main/resources/mybatis/mapper/dev/DeviceChangeOrderMapper.xml index 2d7e06a0d..e14ec8e35 100644 --- a/src/main/resources/mybatis/mapper/dev/DeviceChangeOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/dev/DeviceChangeOrderMapper.xml @@ -29,10 +29,12 @@ createUser,createTime + select + drad.applyId, + drad.deviceCode, + drad.deptCode, + drad.deptName, + drad.description, + drad.status, + drad.repairFlag, + drad.repairId, + drad.productId, + drad.udi, + drad.nameCode, + drad.productName, + drad.ggxh, + drad.batchNo, + drad.serialNo, + drad.productionDate, + drad.expireDate, + drad.manufactory, + drad.measname, + drad.zczbhhzbapzbh, + drad.supId, + drad.supName, + drad.confirmUserId, + drad.confirmUserName, + drad.confirmTime, + drad.confirmRemark, + + dra.id, + dra.applyDeptCode, + dra.applyDeptName, + dra.applyUserId, + dra.applyUserName, + dra.applyUserPhone, + dra.applyTime, + dra.deviceCount, + dra.finishCount, + dra.confirmUserId, + dra.confirmUserName, + dra.confirmTime, + dra.finishTime + from device_repair_apply_detail drad + Left Join device_repair_apply dra ON drad.applyId = dra.id + + + and ( + drad.deviceCode like concat('%',#{param.deviceCodeAndUdi},'%') + or + drad.udi like concat('%',#{param.deviceCodeAndUdi},'%') + ) + + + AND drad.deptCode = #{param.deptCode} + + + AND drad.status = #{param.status} + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurApplyDao.xml b/src/main/resources/mybatis/mapper/purchase/PurApplyDao.xml index b4f0572d9..9747c4156 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurApplyDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurApplyDao.xml @@ -76,28 +76,31 @@ - AND deptCode = #{deptCode} + AND pur_apply.deptCode = #{deptCode} AND pur_apply.invCode = #{invCode} - AND targetInvCode = #{targetInvCode} + AND pur_apply.targetInvCode = #{targetInvCode} - AND targetDeptCode = #{targetDeptCode} + AND pur_apply.targetDeptCode = #{targetDeptCode} - AND auditUser = #{auditUser} + AND pur_apply.auditUser = #{auditUser} AND pur_apply.createUser = #{createUser} - AND generatePlan = 1 + AND pur_apply.generatePlan = 1 - AND emergency = #{emergency} + AND pur_apply.emergency = #{emergency} + + + AND pur_apply.pageType = #{pageType} @@ -192,6 +195,9 @@ approvalFlowId=#{approvalFlowId}, + + pageType=#{pageType}, + WHERE id = #{id} diff --git a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml index 5d65f45a6..f00ca65e1 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml @@ -139,6 +139,9 @@ AND pur_apply.billNo like concat('%', #{billNo}, '%') + + AND pur_apply.pageType = #{pageType} + AND productId like concat('%', #{productId}, '%') diff --git a/src/main/resources/mybatis/mapper/purchase/PurContractDetailMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurContractDetailMapper.xml new file mode 100644 index 000000000..46a079797 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurContractDetailMapper.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, orderIdFk, productId, productUniqueId, nameCode, batchNo, productName, productCompany, + produceDate, expireDate, zczbhhzbapzbh, ggxh, packRatio, supId, supName, `count`, + price, firstSalesInvNo, secSalesInvNo, secSalesListNo, invoiceDate, remark + + + + replace + INTO pur_contract_detail + ( + orderIdFk, + productId, + productUniqueId, + nameCode, + batchNo, + productName, + productCompany, + produceDate, + expireDate, + zczbhhzbapzbh, + ggxh, + packRatio, + supId, + supName, + `count`, + price, + firstSalesInvNo, + secSalesInvNo, + secSalesListNo, + invoiceDate, + remark + ) + values ( + #{orderIdFk}, + #{productId}, + #{productUniqueId}, + #{nameCode}, + #{batchNo}, + #{productName}, + #{productCompany}, + #{produceDate}, + #{expireDate}, + #{zczbhhzbapzbh}, + #{ggxh}, + #{packRatio}, + #{supId}, + #{supName}, + #{count}, + #{price}, + #{firstSalesInvNo}, + #{secSalesInvNo}, + #{secSalesListNo}, + #{invoiceDate}, + #{remark} + ) + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurContractMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurContractMapper.xml new file mode 100644 index 000000000..789e1fdc7 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurContractMapper.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, code, `name`, fromCorp, contractDate, invCode, `status`, `type`, payType, startDate, + endDate, amount, payAmount, payDate, invoiceDate, planOrderIdFk, orderIdFk, `createUser`, + updateUser, createTime, updateTime, remark + + + + insert + INTO pur_contract + ( + code, + `name`, + fromCorp, + contractDate, + invCode, + `status`, + `type`, + payType, + startDate, + endDate, + amount, + payAmount, + payDate, + invoiceDate, + planOrderIdFk, + orderIdFk, + `createUser`, + updateUser, + createTime, + updateTime, + remark + ) + values ( + #{code}, + #{name}, + #{fromCorp}, + #{contractDate}, + #{invCode}, + #{status}, + #{type}, + #{payType}, + #{startDate}, + #{endDate}, + #{amount}, + #{payAmount}, + #{payDate}, + #{invoiceDate}, + #{planOrderIdFk}, + #{orderIdFk}, + #{createUser}, + #{updateUser}, + #{createTime}, + #{updateTime}, + #{remark} + ) + + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml b/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml index cd406021b..07500e9a2 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml @@ -110,19 +110,22 @@ - AND deptCode = #{deptCode} + AND pur_order.deptCode = #{deptCode} - AND invCode = #{invCode} + AND pur_order.invCode = #{invCode} - AND auditUser = #{auditUser} + AND pur_order.auditUser = #{auditUser} - AND createUser = #{createUser} + AND pur_order.createUser = #{createUser} - AND emergency = #{emergency} + AND pur_order.emergency = #{emergency} + + + AND pur_order.pageType = #{pageType} diff --git a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml index 828f0e390..56d99e5f4 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml @@ -158,6 +158,9 @@ AND pur_order.billNo like concat('%', #{billNo}, '%') + + AND pur_order.pageType = #{pageType} + AND productId like concat('%', #{productId}, '%') diff --git a/src/main/resources/mybatis/mapper/purchase/PurPlanDao.xml b/src/main/resources/mybatis/mapper/purchase/PurPlanDao.xml index 296f3f1b1..15017b310 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurPlanDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurPlanDao.xml @@ -78,19 +78,25 @@ - AND deptCode = #{deptCode} + AND pur_plan.deptCode = #{deptCode} - AND invCode = #{invCode} + AND pur_plan.invCode = #{invCode} - AND auditUser = #{auditUser} + AND pur_plan.auditUser = #{auditUser} - AND createUser = #{createUser} + AND pur_plan.createUser = #{createUser} - AND emergency = #{emergency} + AND pur_plan.emergency = #{emergency} + + + AND pur_plan.importStatus = #{importStatus} + + + AND pur_plan.pageType = #{pageType} diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index b8b4bc50a..01e47d3ad 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -2327,7 +2327,7 @@ CALL Pro_Temp_ColumnWork('device_change_order_item', 'startImperativeDate', CALL Pro_Temp_ColumnWork('device_change_order_item', 'startMaintainDate', ' date NULL DEFAULT NULL COMMENT ''开始保养日期''', 1); -CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType', +CALL Pro_Temp_ColumnWork('device_change_order_item', 'serviceType', ' varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修组''', 1); CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType', @@ -2490,3 +2490,268 @@ UPDATE auth_menu SET `menu_name` = '本科室设备', `parent_id` = 1703, `order_num` = 4, `path` = '/dev/deviceInfoSelf', `component` = 'dev/deviceInfoSelf', `query_param` = NULL, `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-11-22 16:16:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 2021; + + +CALL Pro_Temp_ColumnWork('device_repair', 'repairDescription', + ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''', + 1); +ALTER TABLE device_repair + MODIFY COLUMN `diagnosisInfo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '诊断信息' AFTER `description`; + +CALL Pro_Temp_ColumnWork('device_check_detail', 'applyId', + 'bigint DEFAULT NULL COMMENT''报修单id''', + 1); +CALL Pro_Temp_ColumnWork('device_change_order', 'destroyType', + 'bigint DEFAULT NULL COMMENT''移除类型 1报废;2销毁''', + 1); + +CALL Pro_Temp_ColumnWork('device_change_order', 'approvalFlowId', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批表主键(关联审批流程主表)'' ', + 1); +CALL Pro_Temp_ColumnWork('device_change_order', 'billNo', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''单据号'' ', + 1); + +INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`) +VALUES ('5', 'sbyc', '设备移除', 7, NULL, NULL, NULL, NULL); + +INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`) +VALUES ('6', 'cght', '采购合同单据', 6, NULL, NULL, NULL, NULL); + +CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalNodeType', + ' bigint(0) NOT NULL COMMENT ''审批节点类型 1 人员 2 岗位'' ', + 1); +CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalPostId', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位信息'' ', + 1); +CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalPostName', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位名称'' ', + 1); + + +CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalNodeType', + ' bigint(0) NOT NULL COMMENT ''审批节点类型 1 人员 2 岗位'' ', + 1); +CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalPostId', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位信息'' ', + 1); +CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalPostName', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位名称'' ', + 1); + +CALL Pro_Temp_ColumnWork('sys_approval_flow', 'nextNodeName', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''下一个节点审核名字'' ', + 1); + +CALL Pro_Temp_ColumnWork('sys_approval_flow', 'nextApprovalNodeType', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''下一个节点审核类型'' ', + 1); + +-- ---------------------------- +-- Table structure for pur_contract +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_contract` ( + `id` int(0) NOT NULL AUTO_INCREMENT, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同编号', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同名称', + `fromCorp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '往来单位/供应商', + `contractDate` datetime(0) NULL DEFAULT NULL COMMENT '合同签订日期', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前仓库', + `status` int(0) NULL DEFAULT NULL COMMENT '合同状态', + `type` int(0) NULL DEFAULT NULL COMMENT '合同类型', + `payType` int(0) NULL DEFAULT NULL COMMENT '付款方式', + `startDate` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + `endDate` datetime(0) NULL DEFAULT NULL COMMENT '截止时间', + `amount` decimal(10, 3) NULL DEFAULT NULL COMMENT '合同金额', + `payAmount` decimal(10, 3) NULL DEFAULT NULL COMMENT '实付金额', + `payDate` datetime(0) NULL DEFAULT NULL COMMENT '付款日期', + `invoiceDate` datetime(0) NULL DEFAULT NULL COMMENT '开票日期', + `planOrderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '采购计划ID外键', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '采购订单外键', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)', + `isGenerateOrder` int(0) NULL DEFAULT 0 COMMENT '是否生成订单 1.已生成;0.未生成 ', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购合同表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_contract_detail +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_contract_detail` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '单据业务ID', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联合同编号', + `productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码', + `productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识', + `batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号', + `productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称', + `productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家', + `produceDate` date NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` date NULL DEFAULT NULL COMMENT '过期时间', + `zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号', + `ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号', + `packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别', + `supId` bigint(0) NULL DEFAULT NULL COMMENT '供应商id', + `supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称', + `count` int(0) NULL DEFAULT NULL COMMENT '订单该产品实际数量', + `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格', + `firstSalesInvNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售发票号(第一票)', + `secSalesInvNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售发票号(第二票)', + `secSalesListNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售清单号(第二票)', + `invoiceDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '开票日期', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '单据业务详情表' ROW_FORMAT = Dynamic; + +CALL Pro_Temp_ColumnWork('pur_plan', 'importStatus', + ' bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否 导入''', + 1); + +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3679, '合同管理', 1673, 4, 'purContract', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3680, '待提交合同', 3679, 1, 'purchase/purContract/purContract', 'purchase/purContract/purContract', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3689, '待审核合同', 3679, 2, 'purchase/purContract/purContractReviewed', 'purchase/purContract/purContractReviewed', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3690, '已完成合同', 3679, 3, 'purchase/purContract/purContractFinish', 'purchase/purContract/purContractFinish', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL); + +CALL Pro_Temp_ColumnWork('pur_plan', 'importStatus', + ' bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否 导入''', + 1); + + +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3691, '申购管理', 1703, 13, 'purApply', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-08 17:01:50', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3692, '计划管理', 1703, 14, 'purPlan', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3693, '订单管理', 1703, 15, 'purOrder', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:21:58', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3694, '合同管理', 1703, 16, 'purContract', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL); + +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3695, '新增申购单', 3691, 1, 'purchase/purApply/purApply', 'purchase/purApply/purApply', '{\"pageType\":2}', 1, 0, 'C', + '0', '0', 'purchase:purApply:purApply', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3696, '审核申购单', 3691, 2, 'purchase/purApply/pureApplyAudit', 'purchase/purApply/pureApplyAudit', '{\"pageType\":2}', + 1, 0, 'C', '0', '0', 'purchase:purApply:pureApplyAudit', NULL, '超级用户', '2023-02-10 13:54:03', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3697, '查询申购单', 3691, 3, 'purchase/purApply/pureApplySearch', 'purchase/purApply/pureApplySearch', + '{\"pageType\":2}', 1, 0, 'C', '0', '0', 'purchase:purApply:pureApplySearch', NULL, '超级用户', '2023-02-10 14:47:19', + NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3698, '新增采购计划', 3692, 1, 'purchase/purPlan/purPlan', 'purchase/purPlan/purPlan', '{\"pageType\":2}', 1, 0, 'C', '0', + '0', 'purchase:purPlan:purPlan', NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3699, '审核采购计划', 3692, 2, 'purchase/purPlan/purPlanAudit', 'purchase/purPlan/purPlanAudit', '{\"pageType\":2}', 1, 0, + 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3700, '查询采购计划', 3692, 3, 'purchase/purPlan/purPlanSearch', 'purchase/purPlan/purPlanSearch', '{\"pageType\":2}', 1, + 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3701, '新增采购订单', 3693, 1, 'purchase/purOrder/purOrder', 'purchase/purOrder/purOrder', '{\"pageType\":2}', 1, 0, 'C', + '0', '0', NULL, '', '超级用户', '2023-03-08 10:32:25', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3702, '审核采购订单', 3693, 2, 'purchase/purOrder/purOrderAudit', 'purchase/purOrder/purOrderAudit', '{\"pageType\":2}', + 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:33:41', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3703, '查询采购订单', 3693, 3, 'purchase/purOrder/purOrderSearch', 'purchase/purOrder/purOrderSearch', '{\"pageType\":2}', + 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:34:32', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3704, '申购单明细', 3691, 4, 'details', 'purchase/purApply/pureApplySearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0', + '0', NULL, NULL, '超级用户', '2023-04-04 09:30:27', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3705, '采购计划明细', 3692, 4, 'details', 'purchase/purPlan/purPlanSearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0', + '0', NULL, NULL, '超级用户', '2023-04-04 09:32:00', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3706, '采购订单明细', 3693, 4, 'details', 'purchase/purOrder/purOrderSearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0', + '0', NULL, NULL, '超级用户', '2023-04-04 09:32:44', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3707, '我的申购单 ', 3691, 2, 'purchase/purApply/pureApplyMySearch', 'purchase/purApply/pureApplyMySearch', + '{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-07-20 17:08:38', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3708, '待提交合同', 3694, 1, 'purchase/purContract/purContract', 'purchase/purContract/purContract', '{\"pageType\":2}', + 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3709, '待审核合同', 3694, 2, 'purchase/purContract/purContractReviewed', 'purchase/purContract/purContractReviewed', + '{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, + `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, + `update_by`, `update_time`, `remark`) +VALUES (3710, '已完成合同', 3694, 3, 'purchase/purContract/purContractFinish', 'purchase/purContract/purContractFinish', + '{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL); + + +UPDATE auth_menu SET `menu_name` = '新增申购单', `parent_id` = 1674, `order_num` = 1, `path` = 'purchase/purApply/purApply', `component` = 'purchase/purApply/purApply', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:purApply', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-08 17:02:19', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1675; +UPDATE auth_menu SET `menu_name` = '审核申购单', `parent_id` = 1674, `order_num` = 2, `path` = 'purchase/purApply/pureApplyAudit', `component` = 'purchase/purApply/pureApplyAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:pureApplyAudit', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 13:54:03', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1677; +UPDATE auth_menu SET `menu_name` = '查询申购单', `parent_id` = 1674, `order_num` = 3, `path` = 'purchase/purApply/pureApplySearch', `component` = 'purchase/purApply/pureApplySearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:pureApplySearch', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 14:47:19', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1678; +UPDATE auth_menu SET `menu_name` = '新增采购计划', `parent_id` = 1679, `order_num` = 1, `path` = 'purchase/purPlan/purPlan', `component` = 'purchase/purPlan/purPlan', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purPlan:purPlan', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 16:25:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1680; +UPDATE auth_menu SET `menu_name` = '审核采购计划', `parent_id` = 1679, `order_num` = 2, `path` = 'purchase/purPlan/purPlanAudit', `component` = 'purchase/purPlan/purPlanAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:07:07', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1689; +UPDATE auth_menu SET `menu_name` = '查询采购计划', `parent_id` = 1679, `order_num` = 3, `path` = 'purchase/purPlan/purPlanSearch', `component` = 'purchase/purPlan/purPlanSearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:27:49', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1690; +UPDATE auth_menu SET `menu_name` = '新增采购订单', `parent_id` = 1730, `order_num` = 1, `path` = 'purchase/purOrder/purOrder', `component` = 'purchase/purOrder/purOrder', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = '', `create_by` = '超级用户', `create_time` = '2023-03-08 10:32:25', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1731; +UPDATE auth_menu SET `menu_name` = '审核采购订单', `parent_id` = 1730, `order_num` = 2, `path` = 'purchase/purOrder/purOrderAudit', `component` = 'purchase/purOrder/purOrderAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-03-08 10:33:41', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1732; +UPDATE auth_menu SET `menu_name` = '查询采购订单', `parent_id` = 1730, `order_num` = 3, `path` = 'purchase/purOrder/purOrderSearch', `component` = 'purchase/purOrder/purOrderSearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-03-08 10:34:32', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1733; +UPDATE auth_menu SET `menu_name` = '申购单明细', `parent_id` = 1674, `order_num` = 4, `path` = 'details', `component` = 'purchase/purApply/pureApplySearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:30:27', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1763; +UPDATE auth_menu SET `menu_name` = '采购计划明细', `parent_id` = 1679, `order_num` = 4, `path` = 'details', `component` = 'purchase/purPlan/purPlanSearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:32:00', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1764; +UPDATE auth_menu SET `menu_name` = '采购订单明细', `parent_id` = 1730, `order_num` = 4, `path` = 'details', `component` = 'purchase/purOrder/purOrderSearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:32:44', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1765; +UPDATE auth_menu SET `menu_name` = '我的申购单 ', `parent_id` = 1674, `order_num` = 2, `path` = 'purchase/purApply/pureApplyMySearch', `component` = 'purchase/purApply/pureApplyMySearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-07-20 17:08:38', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1843; +UPDATE auth_menu SET `menu_name` = '待提交合同', `parent_id` = 3679, `order_num` = 1, `path` = 'purchase/purContract/purContract', `component` = 'purchase/purContract/purContract', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 16:25:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3680; +UPDATE auth_menu SET `menu_name` = '待审核合同', `parent_id` = 3679, `order_num` = 2, `path` = 'purchase/purContract/purContractReviewed', `component` = 'purchase/purContract/purContractReviewed', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:07:07', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3689; +UPDATE auth_menu SET `menu_name` = '已完成合同', `parent_id` = 3679, `order_num` = 3, `path` = 'purchase/purContract/purContractFinish', `component` = 'purchase/purContract/purContractFinish', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:27:49', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3690; + + +CALL Pro_Temp_ColumnWork('pur_apply', 'pageType', + ' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理;2:设备管理''', + 1); +CALL Pro_Temp_ColumnWork('pur_plan', 'pageType', + ' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理;2:设备管理''', + 1); +CALL Pro_Temp_ColumnWork('pur_order', 'pageType', + ' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理;2:设备管理''', + 1); +CALL Pro_Temp_ColumnWork('pur_contract', 'pageType', + ' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理;2:设备管理''', + 1);