diff --git a/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java b/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java index 981f01f..3a20c16 100644 --- a/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java +++ b/src/main/java/com/heai/modules/production/service/impl/AbnormalServiceImpl.java @@ -11,7 +11,9 @@ import com.heai.modules.production.dao.AbnormalMapper; import com.heai.modules.production.dao.DailyPlanMapper; import com.heai.modules.production.entity.*; import com.heai.modules.production.service.AbnormalService; +import com.heai.modules.sys.dao.SysUserRoleDao; import com.heai.modules.sys.entity.SysUserEntity; +import com.heai.modules.sys.entity.SysUserRoleEntity; import com.heai.modules.taskmanage.dto.TaskDto; import com.heai.modules.taskmanage.entity.TaskDetailEntity; import com.heai.modules.taskmanage.service.TaskListService; @@ -46,6 +48,11 @@ public class AbnormalServiceImpl implements AbnormalService { private TaskListService taskListService; @Autowired private SysOssDao sysOssDao; + + @Autowired + private SysUserRoleDao sysUserRoleDao; + + @Override public List getAbnormalCodeList(){ return abnormalMapper.getAbnormalCodeList(); @@ -138,6 +145,11 @@ public class AbnormalServiceImpl implements AbnormalService { @Override @Transactional public void closeFeedBack(AbnormalFeedBackDataIn inData){ + Long userId = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId(); + List checkRole=sysUserRoleDao.checkRole(userId,"('超级管理员','管理员','实验室人员')"); + if(checkRole.size()==0){ + throw new RuntimeException("只有实验室和管理员可以结单!"); + } abnormalMapper.updateFeedBackFirstCloseDate(inData); inData.setStatus("已完结"); abnormalMapper.updateFeedBackStatus(inData); @@ -145,6 +157,11 @@ public class AbnormalServiceImpl implements AbnormalService { @Override public void openFeedBack(AbnormalFeedBackDataIn inData){ + Long userId = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId(); + List checkRole=sysUserRoleDao.checkRole(userId,"('超级管理员','管理员','实验室人员')"); + if(checkRole.size()==0){ + throw new RuntimeException("只有实验室和管理员可以开启!"); + } List list=abnormalMapper.getAbnormalFeedBackById(inData); if(list.size()==0){ diff --git a/src/main/java/com/heai/modules/sys/controller/SysConfigController.java b/src/main/java/com/heai/modules/sys/controller/SysConfigController.java index 524c5d5..0ff4b67 100644 --- a/src/main/java/com/heai/modules/sys/controller/SysConfigController.java +++ b/src/main/java/com/heai/modules/sys/controller/SysConfigController.java @@ -23,6 +23,7 @@ import java.util.Map; @RestController @RequestMapping("/sys/config") public class SysConfigController extends AbstractController { + @Autowired private SysConfigService sysConfigService; diff --git a/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java b/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java index bc6ab42..1ad16c4 100644 --- a/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java +++ b/src/main/java/com/heai/modules/sys/dao/SysUserRoleDao.java @@ -3,8 +3,10 @@ package com.heai.modules.sys.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.heai.modules.sys.entity.SysRoleEntity; import com.heai.modules.sys.entity.SysUserRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -26,4 +28,7 @@ public interface SysUserRoleDao extends BaseMapper { * 根据角色ID数组,批量删除 */ int deleteBatch(Long[] roleIds); + + + List checkRole(@Param("userId") Long userId, @Param("roleData") String roleData); } diff --git a/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java b/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java index 269f1ca..714985b 100644 --- a/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java +++ b/src/main/java/com/heai/modules/sys/service/SysUserRoleService.java @@ -3,7 +3,9 @@ package com.heai.modules.sys.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.heai.modules.sys.entity.SysRoleEntity; import com.heai.modules.sys.entity.SysUserRoleEntity; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,4 +29,5 @@ public interface SysUserRoleService extends IService { * 根据角色ID数组,批量删除 */ int deleteBatch(Long[] roleIds); + } diff --git a/src/main/resources/mapper/production/AbnormalMapper.xml b/src/main/resources/mapper/production/AbnormalMapper.xml index deb5df1..15166c9 100644 --- a/src/main/resources/mapper/production/AbnormalMapper.xml +++ b/src/main/resources/mapper/production/AbnormalMapper.xml @@ -44,6 +44,9 @@ AND a.Status = #{status} + + + AND b.abnormalDesc like #{abnormalDesc} AND dbo.Get_Part_SpecDesc(sos.site,sos.PartNo) like #{partDesc} diff --git a/src/main/resources/mapper/production/DailyPlanMapper.xml b/src/main/resources/mapper/production/DailyPlanMapper.xml index c4f68ef..139e84c 100644 --- a/src/main/resources/mapper/production/DailyPlanMapper.xml +++ b/src/main/resources/mapper/production/DailyPlanMapper.xml @@ -8,8 +8,8 @@ select a.site, a.OrderNo,a.PartNo,a.Status,a.PlanStartDate,a.NeedDate,a.LotSize,a.EnterDate,a.UserName,a.MaterialSplitFlag,a.RepairSOFlag, P.Spec+'/'+isnull(P.PartDescription,'') PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.qtyReported,S.qtyApprove,S.machSetupTime, - S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency,isnull(SOP.TotalFinishedQty,0) lastApproveQty,dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo) weightFactor, - Round(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo)*a.LotSize,2) weight,dbo.Get_PartPlanQty(a.site,a.PartNo,a.OrderNo) partPlanQty,cod.PlanShipDate, + S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency,isnull(SOP.TotalFinishedQty,0) lastApproveQty,P.NetWeight/1000 weightFactor, + Round(isnull(P.NetWeight/1000,1)*a.LotSize,2) weight,dbo.Get_PartPlanQty(a.site,a.PartNo,a.OrderNo) partPlanQty,cod.PlanShipDate, dbo.Get_LastStartTime( a.site, a.OrderNo,S.ItemNo) LastStartDate,Round(S.DefectiveQty,3) DefectiveQty,dbo.Get_PartValue( a.site,a.PartNo,'CURING METHOD') cuiHuaJi, Round((a.LotSize- S.qtyReported)/case when s.MachRunFactor=0 then 1000000 else s.MachRunFactor end ,1) lastTime ,dbo.Get_E_OriginalOrderTypeDesc(a.site, a.OrderNo) orderTypeDesc @@ -292,7 +292,8 @@ and a.E_Levels = #{eLevels} - order by a.PlanStartDate desc,s.itemNo + order by case when dbo.Get_E_OriginalOrderTypeDesc(a.site, a.OrderNo) in ('变更订单','加急订单') then 1 else 2 end , + a.PlanStartDate desc,s.itemNo update SOTaskOrderHeader set CombineTime = GetDate() where site=#{site} and orderNo=#{orderNo} @@ -366,8 +367,8 @@ select role_id from sys_user_role where user_id = #{value} + + \ No newline at end of file