diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/MaType.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaType.java similarity index 97% rename from sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/MaType.java rename to sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaType.java index cfccfc14..2fbb7324 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/MaType.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaType.java @@ -1,6 +1,5 @@ -package com.bonus.sgzb.base.domain; +package com.bonus.sgzb.base.api.domain; -import com.bonus.sgzb.common.core.annotation.Excel; import com.bonus.sgzb.common.core.web.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; @@ -39,6 +38,10 @@ public class MaType extends BaseEntity { @ApiModelProperty(value = "计量单位id") private String unitId; + /** 计量单位 */ + @ApiModelProperty(value = "计量单位") + private String unitName; + /** 管理方式 */ @ApiModelProperty(value = "管理方式") private String manageType; @@ -443,4 +446,12 @@ public class MaType extends BaseEntity { public void setChildren(List children) { this.children = children; } + + public String getUnitName() { + return unitName; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } } diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/RemoteUserService.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/RemoteUserService.java index d1fab462..edfe6245 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/RemoteUserService.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/RemoteUserService.java @@ -51,6 +51,12 @@ public interface RemoteUserService @PostMapping("/sms/checkCode") public R checkCode(@RequestParam("phone") String phone, @RequestParam("code") String code); + /** + * 验证码校验 + */ + @PostMapping("/sms/send") + public Boolean send(@RequestParam("phone") String phone, @RequestParam("msg") String msg); + /** * 注册用户信息 * diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/factory/RemoteUserFallbackFactory.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/factory/RemoteUserFallbackFactory.java index 3338d83b..96898628 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/factory/RemoteUserFallbackFactory.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/factory/RemoteUserFallbackFactory.java @@ -47,6 +47,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory registerUserInfo(SysUser sysUser, String source) { return R.fail("注册用户失败:" + throwable.getMessage()); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaTypeController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaTypeController.java index 604f97db..c585075c 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaTypeController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaTypeController.java @@ -1,22 +1,17 @@ package com.bonus.sgzb.base.controller; -import com.bonus.sgzb.base.domain.MaType; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.service.ITypeService; -import com.bonus.sgzb.common.core.constant.HttpStatus; import com.bonus.sgzb.common.core.web.controller.BaseController; import com.bonus.sgzb.common.core.web.domain.AjaxResult; -import com.bonus.sgzb.common.core.web.page.TableDataInfo; import com.bonus.sgzb.common.log.annotation.Log; import com.bonus.sgzb.common.log.enums.BusinessType; -import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.stream.Collectors; /** * 工机具类型管理控制层 @@ -41,31 +36,50 @@ public class MaTypeController extends BaseController { } - /** - * 根据左列表类型id查询右表格 - * @param typeId - * @return - */ + + @ApiOperation(value = "工器具类型") + @GetMapping("/equipmentType") + public AjaxResult equipmentType(@RequestParam(required = false) Long typeId, + @RequestParam(required = false) String typeName){ + List listByMaType = iTypeService.getEquipmentType(typeId,typeName); + return success(listByMaType); + } + + @ApiOperation(value = "根据左列表类型id查询右表格") @GetMapping("/getListByMaType") - public TableDataInfo getListByMaType(@RequestParam(required = false) Long typeId, - @RequestParam(required = false) String typeName, - @RequestParam(required = false) Integer pageSize, - @RequestParam(required = false) Integer pageNum){ - if(typeId==null){ - return null; - } - List listByMaType = iTypeService.getListByMaType(typeId, typeName); - TableDataInfo rspData = new TableDataInfo(); - rspData.setTotal(listByMaType.size()); - rspData.setCode(HttpStatus.SUCCESS); - listByMaType = listByMaType.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); - rspData.setRows(listByMaType); - rspData.setMsg("查询成功"); - - return rspData; + public AjaxResult getListByMaType(@RequestParam(required = false) Long typeId, + @RequestParam(required = false) String typeName){ + List listByMaType = iTypeService.getListByParentId(typeId,typeName); + return success(listByMaType); } + +// /** +// * 根据左列表类型id查询右表格 +// * @param typeId +// * @return +// */ +// @ApiOperation(value = "根据左列表类型id查询右表格") +// @GetMapping("/getListByMaType") +// public TableDataInfo getListByMaType(@RequestParam(required = false) Long typeId, +// @RequestParam(required = false) String typeName, +// @RequestParam(required = false) Integer pageSize, +// @RequestParam(required = false) Integer pageNum){ +// if(typeId==null){ +// return null; +// } +// List listByMaType = iTypeService.getListByMaType(typeId, typeName); +// TableDataInfo rspData = new TableDataInfo(); +// rspData.setTotal(listByMaType.size()); +// rspData.setCode(HttpStatus.SUCCESS); +// listByMaType = listByMaType.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); +// rspData.setRows(listByMaType); +// rspData.setMsg("查询成功"); +// +// return rspData; +// } + /** * 获取机具类型管理ma_type详细信息 */ diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/TreeSelect.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/TreeSelect.java index eb7b46c0..26cd98d0 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/TreeSelect.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/TreeSelect.java @@ -1,7 +1,7 @@ package com.bonus.sgzb.base.domain.vo; import com.bonus.sgzb.base.domain.MaHouse; -import com.bonus.sgzb.base.domain.MaType; +import com.bonus.sgzb.base.api.domain.MaType; import com.fasterxml.jackson.annotation.JsonInclude; import java.io.Serializable; diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java index cbfc09a0..57344634 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java @@ -1,19 +1,19 @@ package com.bonus.sgzb.base.mapper; import com.bonus.sgzb.base.domain.MaPropSet; -import com.bonus.sgzb.base.domain.MaType; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.domain.MaTypeKeeper; import com.bonus.sgzb.base.domain.MaTypeRepair; +import org.apache.ibatis.annotations.Param; import java.util.List; /** * 工机具类型管理 数据层 - * + * * @author ruoyi */ -public interface MaTypeMapper -{ +public interface MaTypeMapper { List selectMaTypeList(String typeName); @@ -67,4 +67,6 @@ public interface MaTypeMapper List selectMaTypeTree(); + List getListByParentId(@Param("typeId") Long typeId, @Param("typeName") String typeName); + } \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/ITypeService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/ITypeService.java index ac62fff9..3804ac90 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/ITypeService.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/ITypeService.java @@ -1,7 +1,6 @@ package com.bonus.sgzb.base.service; -import com.bonus.sgzb.base.domain.MaHouse; -import com.bonus.sgzb.base.domain.MaType; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.domain.vo.TreeSelect; import java.util.List; @@ -65,4 +64,7 @@ public interface ITypeService { */ public List buildDeptTreeSelect(List maTypeList); + List getListByParentId(Long typeId, String typeName); + + List getEquipmentType(Long typeId, String typeName); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java index d11e4c37..db3b41d5 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java @@ -1,11 +1,10 @@ package com.bonus.sgzb.base.service.impl; import com.bonus.sgzb.base.domain.MaMachine; -import com.bonus.sgzb.base.domain.MaType; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.mapper.MaMachineMapper; import com.bonus.sgzb.base.mapper.MaTypeMapper; import com.bonus.sgzb.base.service.MaMachineService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaTypeServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaTypeServiceImpl.java index 1d907432..3fd6b784 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaTypeServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaTypeServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.base.service.impl; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.domain.*; import com.bonus.sgzb.base.domain.vo.TreeSelect; import com.bonus.sgzb.base.mapper.MaTypeFileMapper; @@ -7,7 +8,6 @@ import com.bonus.sgzb.base.mapper.MaTypeMapper; import com.bonus.sgzb.base.service.ITypeService; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -273,6 +273,64 @@ public class MaTypeServiceImpl implements ITypeService { return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); } + /** + * 根据组织树parent_id查询结果 + * @param typeId 父级id + * @param typeName 名称筛选 + * @return + */ + @Override + public List getListByParentId(Long typeId, String typeName) { + return maTypeMapper.getListByParentId(typeId, typeName); + } + + /** + * 查询工器具类型四级组织树 + * @param typeId + * @param typeName + * @return + */ + @Override + public List getEquipmentType(Long typeId, String typeName) { + List maTypes = maTypeMapper.selectMaTypeList(""); + List list = new ArrayList<>(); + for (MaType maType : maTypes) { + if (maType.getParentId() == 0) { + list.add(maType); + } + } + List tree = new ArrayList<>(); + //根据父节点获取对应的儿子节点 + for (MaType maType : list) { + List child = getChild(maTypes, maType.getTypeId()); + maType.setChildren(child); + tree.add(maType); + } + + return list; + } + + + /** + * @Author dingjie + * @Date 2023/12/14 + * @Description 递归调用获取儿子 + */ + public List getChild(List list, Long parentId) { + List childList = new ArrayList(); + for (MaType maType : list) { + Long typeId = maType.getTypeId(); + Long pid = maType.getParentId(); + if (parentId.equals(pid)) { + List childLists = getChild(list, typeId); + maType.setChildren(childLists); + childList.add(maType); + } + } + System.out.println(childList); + return childList; + } + /** * 递归列表 diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml index 81ba3892..92ca7f5b 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml @@ -3,13 +3,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + @@ -31,11 +32,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select type_id, type_name, parent_id, status, num, unit_id, manage_type, lease_price, buy_price, pay_price, level, rated_load, test_load, holding_time, warn_num, del_flag, create_by, create_time, remark, company_id + select type_id, type_name, parent_id, status, num, unit_id, unit_name, manage_type, lease_price, buy_price, pay_price, level, rated_load, test_load, holding_time, warn_num, del_flag, create_by, create_time, remark, company_id from ma_type - + insert into ma_type type_name, @@ -43,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, num, unit_id, + unit_name, manage_type, lease_price, buy_price, @@ -68,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{num}, #{unitId}, + #{unitName}, #{manageType}, #{leasePrice}, #{buyPrice}, @@ -121,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status = #{status}, num = #{num}, unit_id = #{unitId}, + unit_name = #{unitName}, manage_type = #{manageType}, lease_price = #{leasePrice}, buy_price = #{buyPrice}, @@ -148,7 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -182,7 +185,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' and parent_id = #{typeId} limit 1 - where type_name = #{typeName} limit 1 @@ -248,7 +251,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -287,6 +290,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m.holding_time, m.warn_num, m.del_flag, m.create_by, m.create_time, m.remark, m.company_id from ma_type m - WHERE level != 4 + WHERE level != 4 and m.status = '0' + + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckDetailsController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckDetailsController.java index 044df59e..22dfb3a5 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckDetailsController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckDetailsController.java @@ -87,18 +87,18 @@ public class PurchaseCheckDetailsController extends BaseController /** * 修改新购验收任务详细 */ - @RequiresPermissions("domain:details:edit") + @ApiOperation(value = "修改新购验收任务详细") @Log(title = "新购验收任务详细", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody PurchaseCheckDetails purchaseCheckDetails) + public AjaxResult edit(@RequestBody List purchaseCheckDetailsList) { - return toAjax(purchaseCheckDetailsService.updatePurchaseCheckDetails(purchaseCheckDetails)); + return toAjax(purchaseCheckDetailsService.updatePurchaseCheckDetails(purchaseCheckDetailsList)); } /** * 删除新购验收任务详细 */ - @RequiresPermissions("domain:details:remove") + @ApiOperation(value = "删除新购验收任务详细") @Log(title = "新购验收任务详细", businessType = BusinessType.DELETE) @DeleteMapping("/{taskIds}") public AjaxResult remove(@PathVariable Long[] taskIds) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckInfoController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckInfoController.java index b9ac46dc..cadf8332 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckInfoController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseCheckInfoController.java @@ -3,8 +3,10 @@ package com.bonus.sgzb.material.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.bonus.sgzb.material.domain.BmNoticeInfo; import com.bonus.sgzb.material.service.IPurchaseCheckInfoService; import com.bonus.sgzb.material.domain.PurchaseCheckInfo; +import com.bonus.sgzb.material.vo.NoticeInfoVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -53,7 +55,7 @@ public class PurchaseCheckInfoController extends BaseController /** * 导出新购验收任务列表 */ - @RequiresPermissions("domain:info:export") + @ApiOperation("导出新购验收任务列表") @Log(title = "新购验收任务", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, PurchaseCheckInfo purchaseCheckInfo) @@ -66,7 +68,7 @@ public class PurchaseCheckInfoController extends BaseController /** * 获取新购验收任务详细信息 */ - @RequiresPermissions("domain:info:query") + @ApiOperation("获取新购验收任务详细信息") @GetMapping(value = "/{taskId}") public AjaxResult getInfo(@PathVariable("taskId") Long taskId) { @@ -76,7 +78,7 @@ public class PurchaseCheckInfoController extends BaseController /** * 新增新购验收任务 */ - @RequiresPermissions("domain:info:add") + @ApiOperation("新增新购验收任务") @Log(title = "新购验收任务", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody PurchaseCheckInfo purchaseCheckInfo) @@ -84,10 +86,20 @@ public class PurchaseCheckInfoController extends BaseController return toAjax(purchaseCheckInfoService.insertPurchaseCheckInfo(purchaseCheckInfo)); } + /** + * 验收通知 + */ + @ApiOperation("验收通知") + @Log(title = "验收通知", businessType = BusinessType.INSERT) + @PostMapping("/bmNoticeInfo") + public AjaxResult bmNoticeInfo(@RequestBody NoticeInfoVO noticeInfoVO) throws Exception { + return toAjax(purchaseCheckInfoService.insertBmNoticeInfo(noticeInfoVO)); + } + /** * 修改新购验收任务 */ - @RequiresPermissions("domain:info:edit") + @ApiOperation("修改新购验收任务") @Log(title = "新购验收任务", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody PurchaseCheckInfo purchaseCheckInfo) @@ -98,7 +110,7 @@ public class PurchaseCheckInfoController extends BaseController /** * 删除新购验收任务 */ - @RequiresPermissions("domain:info:remove") + @ApiOperation("删除新购验收任务") @Log(title = "新购验收任务", businessType = BusinessType.DELETE) @DeleteMapping("/{taskIds}") public AjaxResult remove(@PathVariable Long[] taskIds) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseMacodeInfoController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseMacodeInfoController.java index 62d90bf8..c1830c44 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseMacodeInfoController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/PurchaseMacodeInfoController.java @@ -79,6 +79,19 @@ public class PurchaseMacodeInfoController extends BaseController return toAjax(purchaseMacodeInfoService.insertPurchaseMacodeInfo(purchaseMacodeInfo)); } + /** + * 生成设备编号 + */ + @ApiOperation(value = "生成设备编号") + @PostMapping("equipmentNumber") + public AjaxResult generateEquipmentNumber(@RequestBody PurchaseMacodeInfo purchaseMacodeInfo) throws Exception { + Long typeId = purchaseMacodeInfo.getTypeId(); + if (typeId == null) { + throw new Exception("类型typeId为空!"); + } + return success(purchaseMacodeInfoService.generateEquipmentNumber(typeId)); + } + /** * 修改新购验收编号管理 */ diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BmNoticeInfo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BmNoticeInfo.java new file mode 100644 index 00000000..7000358a --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BmNoticeInfo.java @@ -0,0 +1,128 @@ +package com.bonus.sgzb.material.domain; + +import com.bonus.sgzb.common.core.annotation.Excel; +import com.bonus.sgzb.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 短信通知对象 + * + * @author bonus + * @date 2023-12-14 + */ +public class BmNoticeInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + @ApiModelProperty(value = "主键id") + private Long id; + + /** 任务ID */ + @ApiModelProperty(value = "任务ID") + private Long taskId; + + /** 通知内容 */ + @ApiModelProperty(value = "通知内容") + private String content; + + /** 被通知人 */ + @ApiModelProperty(value = "被通知人") + private Long noticeUser; + + /** 手机号 */ + @ApiModelProperty(value = "手机号") + private String phone; + + /** 模块名称 */ + @ApiModelProperty(value = "模块名称") + private String modelName; + + /** 数据所属组织 */ + @ApiModelProperty(value = "数据所属组织") + private Long companyId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setTaskId(Long taskId) + { + this.taskId = taskId; + } + + public Long getTaskId() + { + return taskId; + } + public void setContent(String content) + { + this.content = content; + } + + public String getContent() + { + return content; + } + public void setNoticeUser(Long noticeUser) + { + this.noticeUser = noticeUser; + } + + public Long getNoticeUser() + { + return noticeUser; + } + public void setPhone(String phone) + { + this.phone = phone; + } + + public String getPhone() + { + return phone; + } + public void setModelName(String modelName) + { + this.modelName = modelName; + } + + public String getModelName() + { + return modelName; + } + public void setCompanyId(Long companyId) + { + this.companyId = companyId; + } + + public Long getCompanyId() + { + return companyId; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("taskId", getTaskId()) + .append("content", getContent()) + .append("noticeUser", getNoticeUser()) + .append("phone", getPhone()) + .append("modelName", getModelName()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("companyId", getCompanyId()) + .toString(); + } +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/PurchaseCheckDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/PurchaseCheckDetails.java index 166f37da..bf9eebfa 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/PurchaseCheckDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/PurchaseCheckDetails.java @@ -38,6 +38,14 @@ public class PurchaseCheckDetails extends BaseEntity @ApiModelProperty(value = "采购数量") private Long purchaseNum; + /** 验收数量 */ + @ApiModelProperty(value = "验收数量") + private Long checkNum; + + /** 验收结论 */ + @ApiModelProperty(value = "验收结论") + private String checkResult; + /** 供应商id */ @ApiModelProperty(value = "供应商id") private Long supplierId; @@ -46,11 +54,31 @@ public class PurchaseCheckDetails extends BaseEntity @ApiModelProperty(value = "供应商名称") private String supplier; + /** 验收状态0,未验收 1,已验收 2,待通知 */ + @ApiModelProperty(value = "验收状态0,未验收 1,已验收 2,待通知") + private Integer status; + /** 出厂日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "出厂日期") private Date productionTime; + /** 验收图片 */ + @ApiModelProperty(value = "验收图片") + private String checkUrlName; + + /** 验收图片名称 */ + @ApiModelProperty(value = "验收图片名称") + private String checkUrl; + + /** 验收附件名称 */ + @ApiModelProperty(value = "验收附件名称") + private String fileName; + + /** 验收附件 */ + @ApiModelProperty(value = "验收附件") + private String fileUrl; + /** 数据所属组织 */ @ApiModelProperty(value = "数据所属组织") private Long companyId; @@ -160,6 +188,62 @@ public class PurchaseCheckDetails extends BaseEntity this.supplier = supplier; } + public Long getCheckNum() { + return checkNum; + } + + public void setCheckNum(Long checkNum) { + this.checkNum = checkNum; + } + + public String getCheckResult() { + return checkResult; + } + + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getCheckUrlName() { + return checkUrlName; + } + + public void setCheckUrlName(String checkUrlName) { + this.checkUrlName = checkUrlName; + } + + public String getCheckUrl() { + return checkUrl; + } + + public void setCheckUrl(String checkUrl) { + this.checkUrl = checkUrl; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileUrl() { + return fileUrl; + } + + public void setFileUrl(String fileUrl) { + this.fileUrl = fileUrl; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckDetailsMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckDetailsMapper.java index 328a22e7..64e87c03 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckDetailsMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckDetailsMapper.java @@ -61,4 +61,8 @@ public interface PurchaseCheckDetailsMapper { public int deletePurchaseCheckDetailsByTaskIds(Long[] taskIds); int insertPurchaseCheckDetailsList(@Param("purchaseCheckDetailsList") List purchaseCheckDetailsList); + + int updateCheckDetailsByTaskId(Long taskId); + + int selectPurchaseCheckDetailsStatus(Long taskId); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckInfoMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckInfoMapper.java index 0c79bc07..8f154f9f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckInfoMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseCheckInfoMapper.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.material.mapper; +import com.bonus.sgzb.material.domain.BmNoticeInfo; import com.bonus.sgzb.material.domain.PurchaseCheckInfo; import java.util.List; @@ -61,4 +62,6 @@ public interface PurchaseCheckInfoMapper public int deletePurchaseCheckInfoByTaskIds(Long[] taskIds); String selectTypeNameByTaskId(Long taskId); + + int insertBmNoticeInfo(BmNoticeInfo bmNoticeInfo); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseMacodeInfoMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseMacodeInfoMapper.java index 7a48f544..809b3df1 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseMacodeInfoMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/PurchaseMacodeInfoMapper.java @@ -1,20 +1,22 @@ package com.bonus.sgzb.material.mapper; +import com.alibaba.fastjson.JSONObject; import com.bonus.sgzb.material.domain.PurchaseMacodeInfo; +import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** * 新购验收编号管理purchase_macode_infoMapper接口 - * + * * @author bonus * @date 2023-12-10 */ -public interface PurchaseMacodeInfoMapper -{ +public interface PurchaseMacodeInfoMapper { /** * 查询新购验收编号管理purchase_macode_info - * + * * @param taskId 新购验收编号管理purchase_macode_info主键 * @return 新购验收编号管理purchase_macode_info */ @@ -22,7 +24,7 @@ public interface PurchaseMacodeInfoMapper /** * 查询新购验收编号管理purchase_macode_info列表 - * + * * @param purchaseMacodeInfo 新购验收编号管理purchase_macode_info * @return 新购验收编号管理purchase_macode_info集合 */ @@ -30,7 +32,7 @@ public interface PurchaseMacodeInfoMapper /** * 新增新购验收编号管理purchase_macode_info - * + * * @param purchaseMacodeInfo 新购验收编号管理purchase_macode_info * @return 结果 */ @@ -38,7 +40,7 @@ public interface PurchaseMacodeInfoMapper /** * 修改新购验收编号管理purchase_macode_info - * + * * @param purchaseMacodeInfo 新购验收编号管理purchase_macode_info * @return 结果 */ @@ -46,7 +48,7 @@ public interface PurchaseMacodeInfoMapper /** * 删除新购验收编号管理purchase_macode_info - * + * * @param taskId 新购验收编号管理purchase_macode_info主键 * @return 结果 */ @@ -54,9 +56,13 @@ public interface PurchaseMacodeInfoMapper /** * 批量删除新购验收编号管理purchase_macode_info - * + * * @param taskIds 需要删除的数据主键集合 * @return 结果 */ public int deletePurchaseMacodeInfoByTaskIds(Long[] taskIds); + + JSONObject getTypeByTypeId(long typeId); + + int getSerialNumber(@Param("typeId") long typeId, @Param("nowDate") Date nowDate); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java index f7674709..a9ff6d60 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java @@ -3,6 +3,7 @@ package com.bonus.sgzb.material.mapper; import com.bonus.sgzb.base.api.domain.TmTask; +import java.util.Date; import java.util.List; /** @@ -60,4 +61,6 @@ public interface TaskMapper * @return 结果 */ public int deleteTmTaskByTaskIds(Long[] taskIds); + + int selectTaskNumByMonth(Date date); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckDetailsService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckDetailsService.java index 2fa96626..4c74d2fc 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckDetailsService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckDetailsService.java @@ -39,10 +39,10 @@ public interface IPurchaseCheckDetailsService /** * 修改新购验收任务详细purchase_check_details * - * @param purchaseCheckDetails 新购验收任务详细purchase_check_details + * @param purchaseCheckDetailsList 新购验收任务详细purchase_check_details * @return 结果 */ - public int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails); + public int updatePurchaseCheckDetails(List purchaseCheckDetailsList); /** * 批量删除新购验收任务详细purchase_check_details diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckInfoService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckInfoService.java index fea7fe6e..f77f7c91 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckInfoService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseCheckInfoService.java @@ -1,6 +1,8 @@ package com.bonus.sgzb.material.service; +import com.bonus.sgzb.material.domain.BmNoticeInfo; import com.bonus.sgzb.material.domain.PurchaseCheckInfo; +import com.bonus.sgzb.material.vo.NoticeInfoVO; import java.util.List; @@ -59,4 +61,7 @@ public interface IPurchaseCheckInfoService * @return 结果 */ public int deletePurchaseCheckInfoByTaskId(Long taskId); + + Boolean insertBmNoticeInfo(NoticeInfoVO noticeInfoVO) throws Exception; + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseMacodeInfoService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseMacodeInfoService.java index ad89b864..fcb7e15e 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseMacodeInfoService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IPurchaseMacodeInfoService.java @@ -59,4 +59,7 @@ public interface IPurchaseMacodeInfoService * @return 结果 */ public int deletePurchaseMacodeInfoByTaskId(Long taskId); + + String generateEquipmentNumber(long typeId); + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckDetailsServiceImpl.java index b50c845f..654b34ac 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckDetailsServiceImpl.java @@ -2,58 +2,65 @@ package com.bonus.sgzb.material.service.impl; import java.util.List; +import com.bonus.sgzb.base.api.domain.TmTask; import com.bonus.sgzb.material.domain.PurchaseCheckDetails; +import com.bonus.sgzb.material.domain.PurchaseMacodeInfo; import com.bonus.sgzb.material.mapper.PurchaseCheckDetailsMapper; +import com.bonus.sgzb.material.mapper.TaskMapper; import com.bonus.sgzb.material.service.IPurchaseCheckDetailsService; import com.bonus.sgzb.common.core.utils.DateUtils; +import com.bonus.sgzb.material.service.IPurchaseMacodeInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + /** * 新购验收任务详细purchase_check_detailsService业务层处理 - * + * * @author bonus * @date 2023-12-10 */ @Service -public class PurchaseCheckDetailsServiceImpl implements IPurchaseCheckDetailsService -{ - @Autowired +public class PurchaseCheckDetailsServiceImpl implements IPurchaseCheckDetailsService { + @Resource private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper; + @Resource + private TaskMapper taskMapper; + + @Resource + private IPurchaseMacodeInfoService macodeInfoService; /** * 查询新购验收任务详细purchase_check_details - * + * * @param taskId 新购验收任务详细purchase_check_details主键 * @return 新购验收任务详细purchase_check_details */ @Override - public PurchaseCheckDetails selectPurchaseCheckDetailsByTaskId(Long taskId) - { + public PurchaseCheckDetails selectPurchaseCheckDetailsByTaskId(Long taskId) { return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsByTaskId(taskId); } /** * 查询新购验收任务详细purchase_check_details列表 - * + * * @param purchaseCheckDetails 新购验收任务详细purchase_check_details * @return 新购验收任务详细purchase_check_details */ @Override - public List selectPurchaseCheckDetailsList(PurchaseCheckDetails purchaseCheckDetails) - { + public List selectPurchaseCheckDetailsList(PurchaseCheckDetails purchaseCheckDetails) { return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsList(purchaseCheckDetails); } /** * 新增新购验收任务详细purchase_check_details - * + * * @param purchaseCheckDetailsList 新购验收任务详细purchase_check_details * @return 结果 */ @Override - public int insertPurchaseCheckDetails(List purchaseCheckDetailsList) - { + public int insertPurchaseCheckDetails(List purchaseCheckDetailsList) { // purchaseCheckDetails.setCreateTime(DateUtils.getNowDate()); // return purchaseCheckDetailsMapper.insertPurchaseCheckDetails(purchaseCheckDetails); return purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList); @@ -61,38 +68,60 @@ public class PurchaseCheckDetailsServiceImpl implements IPurchaseCheckDetailsSer /** * 修改新购验收任务详细purchase_check_details - * - * @param purchaseCheckDetails 新购验收任务详细purchase_check_details + * + * @param purchaseCheckDetailsList 新购验收任务详细purchase_check_details * @return 结果 */ @Override - public int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails) - { - purchaseCheckDetails.setUpdateTime(DateUtils.getNowDate()); - return purchaseCheckDetailsMapper.updatePurchaseCheckDetails(purchaseCheckDetails); + public int updatePurchaseCheckDetails(List purchaseCheckDetailsList) { + Long taskId = 0L; + for (PurchaseCheckDetails purchaseCheckDetails : purchaseCheckDetailsList) { + taskId = purchaseCheckDetails.getTaskId(); + if ("通过".equals(purchaseCheckDetails.getCheckResult())) { + purchaseCheckDetails.setStatus(1); + // 通过之后往编码管理表里回填数据 + PurchaseMacodeInfo macodeInfo = new PurchaseMacodeInfo(); + macodeInfo.setTaskId(purchaseCheckDetails.getTypeId()); + macodeInfo.setTaskId(taskId); + macodeInfoService.insertPurchaseMacodeInfo(macodeInfo); + } else if ("不通过".equals(purchaseCheckDetails.getCheckResult())) { + purchaseCheckDetails.setStatus(0); + } else { + purchaseCheckDetails.setStatus(2); + } + purchaseCheckDetails.setUpdateTime(DateUtils.getNowDate()); + purchaseCheckDetailsMapper.updatePurchaseCheckDetails(purchaseCheckDetails); + } + // 当全部为已验收,修改任务验收状态 + int count = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsStatus(taskId); + if (count <= 0) { + TmTask task = new TmTask(); + task.setTaskId(taskId); + task.setTaskStatus(26); + taskMapper.updateTmTask(task); + } + return 1; } /** * 批量删除新购验收任务详细purchase_check_details - * + * * @param taskIds 需要删除的新购验收任务详细purchase_check_details主键 * @return 结果 */ @Override - public int deletePurchaseCheckDetailsByTaskIds(Long[] taskIds) - { + public int deletePurchaseCheckDetailsByTaskIds(Long[] taskIds) { return purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByTaskIds(taskIds); } /** * 删除新购验收任务详细purchase_check_details信息 - * + * * @param taskId 新购验收任务详细purchase_check_details主键 * @return 结果 */ @Override - public int deletePurchaseCheckDetailsByTaskId(Long taskId) - { + public int deletePurchaseCheckDetailsByTaskId(Long taskId) { return purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByTaskId(taskId); } } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java index 4eac2b67..a65271d4 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java @@ -1,13 +1,21 @@ package com.bonus.sgzb.material.service.impl; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import com.bonus.sgzb.base.api.domain.TmTask; +import com.bonus.sgzb.material.domain.BmNoticeInfo; +import com.bonus.sgzb.material.domain.PurchaseCheckDetails; import com.bonus.sgzb.material.domain.PurchaseCheckInfo; +import com.bonus.sgzb.material.mapper.PurchaseCheckDetailsMapper; import com.bonus.sgzb.material.mapper.PurchaseCheckInfoMapper; import com.bonus.sgzb.material.mapper.TaskMapper; import com.bonus.sgzb.material.service.IPurchaseCheckInfoService; import com.bonus.sgzb.common.core.utils.DateUtils; +import com.bonus.sgzb.material.vo.NoticeInfoVO; +import com.bonus.sgzb.system.api.RemoteUserService; +import javafx.concurrent.Task; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +36,12 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService @Resource private TaskMapper taskMapper; + @Resource + private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper; + + @Resource + private RemoteUserService remoteUserService; + /** * 查询新购验收任务 * @@ -68,16 +82,41 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService public int insertPurchaseCheckInfo(PurchaseCheckInfo purchaseCheckInfo) { TmTask task = new TmTask(); + // 暂定的状态字典表 task.setTaskType(14); task.setTaskStatus(24); - task.setCode(purchaseCheckInfo.getCode()); + // 采购单号 + task.setCode(purchaseCodeRule()); + task.setCreateTime(DateUtils.getNowDate()); task.setCompanyId(purchaseCheckInfo.getCompanyId()); + // 创建任务信息 taskMapper.insertTmTask(task); purchaseCheckInfo.setTaskId(task.getTaskId()); purchaseCheckInfo.setCreateTime(DateUtils.getNowDate()); + + // 批量新增新购任务详情信息 + List checkDetailsList = purchaseCheckInfo.getCheckDetailsList(); + if (checkDetailsList != null) { + for (PurchaseCheckDetails purchaseCheckDetails : checkDetailsList) { + purchaseCheckDetails.setTaskId(task.getTaskId()); + purchaseCheckDetails.setStatus(2); + } + purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(checkDetailsList); + } + // 新增任务信息 return purchaseCheckInfoMapper.insertPurchaseCheckInfo(purchaseCheckInfo); } + // 采购单号编码生成规则 + private String purchaseCodeRule() { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date nowDate = DateUtils.getNowDate(); + String format = dateFormat.format(nowDate); + int taskNum = taskMapper.selectTaskNumByMonth(nowDate) + 1; + String code = "XG" + format + "-000" + taskNum; + return code; + } + /** * 修改新购验收任务 * @@ -114,4 +153,38 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { return purchaseCheckInfoMapper.deletePurchaseCheckInfoByTaskId(taskId); } + + /** + * 验收通知 + * @param noticeInfoVO 验收通知内容 + * @return 结果 + */ + @Override + public Boolean insertBmNoticeInfo(NoticeInfoVO noticeInfoVO) throws Exception { + // 任务状态修改 + TmTask task = new TmTask(); + Long taskId = noticeInfoVO.getTaskId(); + if (taskId == null) { + throw new Exception("任务taskId为空"); + } + task.setTaskId(taskId); + task.setTaskStatus(25); + taskMapper.updateTmTask(task); + // 修改任务详情状态 + purchaseCheckDetailsMapper.updateCheckDetailsByTaskId(taskId); + + String message = noticeInfoVO.getMessage(); + List bmNoticeInfoList = noticeInfoVO.getBmNoticeInfoList(); + if (bmNoticeInfoList.size() <= 0) { + throw new Exception("绑定用户为空"); + } + Boolean send = false; + for (BmNoticeInfo bmNoticeInfo : bmNoticeInfoList) { + String phone = bmNoticeInfo.getPhone(); + // 短信通知 + send = remoteUserService.send(phone, message); + purchaseCheckInfoMapper.insertBmNoticeInfo(bmNoticeInfo); + } + return send; + } } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseMacodeInfoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseMacodeInfoServiceImpl.java index 50816e23..19df514e 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseMacodeInfoServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseMacodeInfoServiceImpl.java @@ -1,7 +1,10 @@ package com.bonus.sgzb.material.service.impl; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; +import com.alibaba.fastjson.JSONObject; import com.bonus.sgzb.material.domain.PurchaseMacodeInfo; import com.bonus.sgzb.material.mapper.PurchaseMacodeInfoMapper; import com.bonus.sgzb.material.service.IPurchaseMacodeInfoService; @@ -59,6 +62,13 @@ public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService return purchaseMacodeInfoMapper.insertPurchaseMacodeInfo(purchaseMacodeInfo); } + // 编码规则 + private String codeRule() { + String code = "NXJJ"; + + return "1"; + } + /** * 修改新购验收编号管理 * @@ -95,4 +105,26 @@ public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService { return purchaseMacodeInfoMapper.deletePurchaseMacodeInfoByTaskId(taskId); } + + /** + * 生成设备编号 + * @param typeId 类型id + * @return 编码结果 + */ + @Override + public String generateEquipmentNumber(long typeId) { + SimpleDateFormat sdf = new SimpleDateFormat("yyMM"); + Date nowDate = DateUtils.getNowDate(); + String format = sdf.format(nowDate); + + JSONObject jsonObject = purchaseMacodeInfoMapper.getTypeByTypeId(typeId); + String typeCode = jsonObject.getString("typeCode"); + String specsCode = jsonObject.getString("specsCode"); + //序列号 + int count = purchaseMacodeInfoMapper.getSerialNumber(typeId,nowDate); + // 编码规则 + String codingRule = "NXJJ" + typeCode + format + specsCode + "000" + count; + return codingRule; + } + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/NoticeInfoVO.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/NoticeInfoVO.java new file mode 100644 index 00000000..abfe8acd --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/NoticeInfoVO.java @@ -0,0 +1,41 @@ +package com.bonus.sgzb.material.vo; + +import com.bonus.sgzb.material.domain.BmNoticeInfo; + +import java.util.List; + +public class NoticeInfoVO { + + // 任务主键id + private Long taskId; + + // 通知内容 + private String message; + + // 短信通知对象 + private List bmNoticeInfoList; + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public List getBmNoticeInfoList() { + return bmNoticeInfoList; + } + + public void setBmNoticeInfoList(List bmNoticeInfoList) { + this.bmNoticeInfoList = bmNoticeInfoList; + } +} diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckDetailsMapper.xml index 42372460..eb55db92 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckDetailsMapper.xml @@ -10,23 +10,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + - select id,task_id, type_id, purchase_price, purchase_num, supplier_id, create_by, production_time, create_time, update_by, update_time, remark, company_id from purchase_check_details + select id, task_id, type_id, purchase_price, purchase_num, check_num, check_result, supplier_id, status, create_by, production_time, create_time, update_by, update_time, remark, check_url_name, check_url, file_name, file_url, company_id from purchase_check_details + select count(*) from purchase_check_details where task_id = #{taskId} and status != 1 + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml index acb60088..3b609874 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml @@ -105,4 +105,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) t GROUP BY task_id + + + insert into bm_notice_info + + task_id, + content, + notice_user, + phone, + model_name, + create_by, + create_time, + update_by, + update_time, + remark, + company_id, + + + #{taskId}, + #{content}, + #{noticeUser}, + #{phone}, + #{modelName}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{companyId}, + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseMacodeInfoMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseMacodeInfoMapper.xml index b848d065..fed7900c 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseMacodeInfoMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseMacodeInfoMapper.xml @@ -98,4 +98,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{taskId} + + + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml index 5d72380d..e5445d43 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml @@ -88,4 +88,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{taskId} + + \ No newline at end of file