Commit 248a626d by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 094b8d60 53ff41bf
package com.junmp.jyzb.api.bean.dto; package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -28,4 +29,9 @@ public class WarehouseDto implements Serializable { ...@@ -28,4 +29,9 @@ public class WarehouseDto implements Serializable {
private Integer inSum; private Integer inSum;
private String state; private String state;
private String orgName; private String orgName;
//湿度
private Double humidity;
//温度
private Double temperature;
} }
...@@ -15,6 +15,7 @@ public class SummaryLogReq { ...@@ -15,6 +15,7 @@ public class SummaryLogReq {
private Long orgId; private Long orgId;
//组织机构名称 //组织机构名称
private String orgName; private String orgName;
//操作人
private String userName; private String userName;
private Date useTime; private Date useTime;
private String picture; private String picture;
......
...@@ -6,6 +6,8 @@ import lombok.Data; ...@@ -6,6 +6,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@Data @Data
...@@ -16,6 +18,7 @@ public class InventorySumReq extends BaseRequest { ...@@ -16,6 +18,7 @@ public class InventorySumReq extends BaseRequest {
/** /**
* 组织机构 * 组织机构
*/ */
@NotNull(message = "组织机构id不能为空",groups = {page.class})
private String orgId; private String orgId;
/** /**
...@@ -34,6 +37,7 @@ public class InventorySumReq extends BaseRequest { ...@@ -34,6 +37,7 @@ public class InventorySumReq extends BaseRequest {
/** /**
* 位置类型(0仓库,1单警柜) * 位置类型(0仓库,1单警柜)
*/ */
@NotBlank(message = "位置信息不能为空",groups = {page.class})
private String locationType; private String locationType;
/** /**
* 类型ID * 类型ID
......
...@@ -68,5 +68,7 @@ public class PolicemanReq extends BaseRequest { ...@@ -68,5 +68,7 @@ public class PolicemanReq extends BaseRequest {
private String order; private String order;
private String column; private String column;
private List<String> roleList;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
import java.util.Set; import java.util.Set;
//@Component @Component
public class TemperatureRedisCache extends AbstractRedisCache<Object> { public class TemperatureRedisCache extends AbstractRedisCache<Object> {
public TemperatureRedisCache(RedisTemplate<String, Object> redisTemplate) { public TemperatureRedisCache(RedisTemplate<String, Object> redisTemplate) {
super(redisTemplate); super(redisTemplate);
...@@ -36,8 +36,9 @@ public class TemperatureRedisCache extends AbstractRedisCache<Object> { ...@@ -36,8 +36,9 @@ public class TemperatureRedisCache extends AbstractRedisCache<Object> {
} }
public List<Object> getDataByTimestampRange(String warehouseId, long startTimestamp, long endTimestamp) { public List<Object> getDataByTimestampRange(String warehouseId, long startTimestamp, long endTimestamp) {
String key = warehouseId; String key = warehouseId;
//根据
Set<Object> dataInRange = getRedisTemplate().opsForZSet().rangeByScore(key, startTimestamp, endTimestamp); // Set<Object> dataInRange = getRedisTemplate().opsForZSet().rangeByScore(key, startTimestamp, endTimestamp);
Set<Object> dataInRange= getRedisTemplate().opsForZSet ().reverseRange(key, startTimestamp, endTimestamp);
return new ArrayList<>(dataInRange); return new ArrayList<>(dataInRange);
} }
} }
...@@ -100,7 +100,7 @@ public class InventoryController { ...@@ -100,7 +100,7 @@ public class InventoryController {
@PostMapping("/GetEquipmentSummary") @PostMapping("/GetEquipmentSummary")
@ApiOperation("根据条件查询库存汇总信息(仅类型)") @ApiOperation("根据条件查询库存汇总信息(仅类型)")
public ApiRes<PageResult<InventorySummary>> GetEquipmentSummary(@RequestBody InventorySumReq req) { public ApiRes<PageResult<InventorySummary>> GetEquipmentSummary(@RequestBody @Validated(ValidationApi.page.class) InventorySumReq req) {
return ApiRes.success(inventorySummaryService.GetEquipmentSummary(req)); return ApiRes.success(inventorySummaryService.GetEquipmentSummary(req));
} }
@PostMapping("/GetEquipmentSummaryDetail") @PostMapping("/GetEquipmentSummaryDetail")
......
...@@ -10,7 +10,9 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq; ...@@ -10,7 +10,9 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateShelfReq; import com.junmp.jyzb.api.bean.req.UpdateShelfReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.cache.TemperatureRedisCache;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
...@@ -139,4 +141,16 @@ public class WarehouseController { ...@@ -139,4 +141,16 @@ public class WarehouseController {
return ApiRes.success(warehouseService.alignWarehouseInfo(req)); return ApiRes.success(warehouseService.alignWarehouseInfo(req));
} }
@PostMapping("/updateHumidityAndtemperature")
@ApiOperation("更新温湿度")
public ApiRes<Boolean> updateHumidityAndtemperature(@RequestBody HumidityAndtemperature req){
return ApiRes.success(warehouseService.updateHumidityAndtemperature(req));
}
@PostMapping("showHumidityAndtemperature")
@ApiOperation("展示温湿度记录")
public ApiRes<List<HumidityAndtemperature>> showHumidityAndtemperature(@RequestBody WarehouseReq req){
return ApiRes.success(warehouseService.showHumidityAndtemperature(req));
}
} }
...@@ -144,6 +144,8 @@ public class LogDetail implements Serializable { ...@@ -144,6 +144,8 @@ public class LogDetail implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String locationName; private String locationName;
@TableField(exist = false)
private String userName;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -21,8 +21,8 @@ public class HumidityAndtemperature implements Serializable { ...@@ -21,8 +21,8 @@ public class HumidityAndtemperature implements Serializable {
private String warehouseId; private String warehouseId;
//仓库ID //仓库ID
private String warehouseName; private String warehouseName;
//设备类型 //设备
private String device; private String deviceName;
//上报时间 //上报时间
private Long createTime; private Long createTime;
} }
...@@ -64,6 +64,13 @@ public class Warehouse implements Serializable { ...@@ -64,6 +64,13 @@ public class Warehouse implements Serializable {
@TableField("order_id") @TableField("order_id")
private Long orderId; private Long orderId;
//湿度
@TableField("humidity")
private Double humidity;
//温度
@TableField("temperature")
private Double temperature;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -52,12 +52,14 @@ public interface PolicemanMapper extends BaseMapper<Policeman> { ...@@ -52,12 +52,14 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
@Param("state")Integer state, @Param("state")Integer state,
@Param("phone")String phone,@Param("flag") String flag, @Param("phone")String phone,@Param("flag") String flag,
@Param("pageNo")Long pageNo, @Param("pageSize") Long pageSize, @Param("pageNo")Long pageNo, @Param("pageSize") Long pageSize,
@Param("column") String column,@Param("order") String order); @Param("column") String column,@Param("order") String order,
@Param("roleList") List<String> roleList);
long count(@Param("orgId") Long orgId, @Param("account")String account, long count(@Param("orgId") Long orgId, @Param("account")String account,
@Param("name") String name, @Param("policeCode")String policeCode, @Param("name") String name, @Param("policeCode")String policeCode,
@Param("state")Integer state, @Param("state")Integer state,
@Param("phone")String phone,@Param("flag") String flag); @Param("phone")String phone,@Param("flag") String flag,
@Param("roleList") List<String> roleList);
List<UserDto> alignUserInfo(@Param("orgId") Long orgId, @Param("date")String date); List<UserDto> alignUserInfo(@Param("orgId") Long orgId, @Param("date")String date);
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import com.junmp.jyzb.api.bean.dto.WarehouseDto; ...@@ -6,6 +6,7 @@ import com.junmp.jyzb.api.bean.dto.WarehouseDto;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.query.WarehouseReq; import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
import com.junmp.jyzb.entity.Warehouse; import com.junmp.jyzb.entity.Warehouse;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
...@@ -51,4 +52,8 @@ public interface WarehouseService extends IService<Warehouse> { ...@@ -51,4 +52,8 @@ public interface WarehouseService extends IService<Warehouse> {
boolean SetInventoryInfo(String id); boolean SetInventoryInfo(String id);
List<WarehouseInfoDto> alignWarehouseInfo(UpdateWarehouseReq req); List<WarehouseInfoDto> alignWarehouseInfo(UpdateWarehouseReq req);
boolean updateHumidityAndtemperature(HumidityAndtemperature req);
List<HumidityAndtemperature> showHumidityAndtemperature(WarehouseReq req);
} }
...@@ -149,48 +149,10 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -149,48 +149,10 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
busForm.setCreateTime(DateTimeUtil.getCurrentDateTime()); busForm.setCreateTime(DateTimeUtil.getCurrentDateTime());
} }
String processInstanceId=null; String processInstanceId=null;
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) if (req.getExamineState().equals("working"))
{ {
startProcessInstanceDTO=new StartProcessInstanceDTO(); StartProcessInstanceDTO startProcessInstanceDTO = setParams(req,busForm);
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(busForm.getId());
startProcessInstanceDTO.setOrderType("bussinessOrder");
startProcessInstanceDTO.setUserId(req.getApplyUserId());
//发物单位和收物单位
switch (req.getBussinessType()){
case "use":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
break;
case "purchase":
startProcessInstanceDTO.setStartOrgName(req.getSupplierName());
startProcessInstanceDTO.setEndOrgName(req.getOrgName());
break;
case "allocate":
startProcessInstanceDTO.setStartOrgName(req.getStartOrgName());
startProcessInstanceDTO.setEndOrgName(req.getEndOrgName());
break;
case "repair":
case "destruction":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
startProcessInstanceDTO.setEndOrgName(req.getSupplierName());
break;
case "remove":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
startProcessInstanceDTO.setEndOrgName(req.getOrgName());
break;
}
//装备列表
startProcessInstanceDTO.setInvList(req.getInvList());
//业务类型
startProcessInstanceDTO.setType("busFormDto");
// Object A= JSON.toJSONString(req);
Object A= JSON.toJSONString(req, SerializerFeature.WriteDateUseDateFormat);
JSONObject jsonObject = JSON.parseObject(A.toString());
startProcessInstanceDTO.setFormData(jsonObject);
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
} }
...@@ -241,6 +203,49 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -241,6 +203,49 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
return busForm.getId(); return busForm.getId();
} }
private StartProcessInstanceDTO setParams(UpdateBusFormReq req,BusForm busForm){
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(busForm.getId());
startProcessInstanceDTO.setOrderType("bussinessOrder");
startProcessInstanceDTO.setUserId(req.getApplyUserId());
startProcessInstanceDTO.setBussinessType(req.getBussinessType());
//发物单位和收物单位
switch (req.getBussinessType()){
case "use":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
break;
case "purchase":
startProcessInstanceDTO.setStartOrgName(req.getSupplierName());
startProcessInstanceDTO.setEndOrgName(req.getOrgName());
break;
case "allocate":
startProcessInstanceDTO.setStartOrgName(req.getStartOrgName());
startProcessInstanceDTO.setEndOrgName(req.getEndOrgName());
break;
case "repair":
case "destruction":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
startProcessInstanceDTO.setEndOrgName(req.getSupplierName());
break;
case "remove":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
startProcessInstanceDTO.setEndOrgName(req.getOrgName());
break;
}
//装备列表
startProcessInstanceDTO.setInvList(req.getInvList());
//业务类型
startProcessInstanceDTO.setType("busFormDto");
// Object A= JSON.toJSONString(req);
Object A= JSON.toJSONString(req, SerializerFeature.WriteDateUseDateFormat);
JSONObject jsonObject = JSON.parseObject(A.toString());
startProcessInstanceDTO.setFormData(jsonObject);
return startProcessInstanceDTO;
}
//在提交审核或者保存草稿的时候判断申请报废数+审核中数量+报废区数量是否等于在库数,如果大于则报错 //在提交审核或者保存草稿的时候判断申请报废数+审核中数量+报废区数量是否等于在库数,如果大于则报错
//flag表示一个标识,如果是提交业务单那么flag=true,如果是审核拒绝,那么flag就为false //flag表示一个标识,如果是提交业务单那么flag=true,如果是审核拒绝,那么flag就为false
public boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag){ public boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag){
......
...@@ -268,7 +268,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -268,7 +268,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//根据条件查询仓库/单警柜下的所有装备信息 //根据条件查询仓库/单警柜下的所有装备信息
public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) { public PageResult<InventoryDto> GetDetailByTerms1(InventoryReq req) {
//判断组织机构是否存在 //判断组织机构是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//根据条件查询仓库下的所有装备 //根据条件查询仓库下的所有装备
...@@ -318,7 +318,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -318,7 +318,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
public PageResult<InventoryDto> GetDetailByTerms1(InventoryReq req) { public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) {
// //根据条件查询仓库下的所有装备 // //根据条件查询仓库下的所有装备
// LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>() // LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
// .eq(Inventory::getOrgId, req.getOrgId()) // .eq(Inventory::getOrgId, req.getOrgId())
......
...@@ -456,41 +456,62 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -456,41 +456,62 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
* @param * @param
*/ */
@Override @Override
// public List<PolicemanDto> GetAllPolicemanList(PolicemanReq req) {
// //查询传入的组织机构id是否存在
// PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
// //查询出组织机构下的所有警员信息(如果是查看启用的那么state为1)
// List<Policeman> list = list(new LambdaQueryWrapper<Policeman>()
// .eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId())
// .like(ObjectUtil.isNotEmpty(req.getName()),Policeman::getName,req.getName())
// .like(ObjectUtil.isNotEmpty(req.getPoliceCode()),Policeman::getPoliceCode,req.getPoliceCode())
// .eq(ObjectUtil.isNotEmpty( req.getState()),Policeman::getState, req.getState()));
// List<PolicemanDto> policeList = new ArrayList<>();
// //查询出警员信息下的指纹列表信息
// for (Policeman p : list) {
// PolicemanDto policemanDto = new PolicemanDto();
// BeanPlusUtil.copyProperties(p, policemanDto);
// List<PoliceFinger> list1 = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>()
// .eq(ObjectUtil.isNotNull(p.getId()), PoliceFinger::getPoliceId, p.getId()));
// List<PoliceFingerDto> policeFingerDtoList = new ArrayList<>();
// for (PoliceFinger policeFinger : list1) {
// PoliceFingerDto policeFingerDto = new PoliceFingerDto();
// BeanPlusUtil.copyProperties(policeFinger, policeFingerDto);
// policeFingerDtoList.add(policeFingerDto);
// }
// policemanDto.setFingersList(policeFingerDtoList);
// policemanDto.setOrgName(pubOrg.getOrgName());
// policeList.add(policemanDto);
//
// }
// return policeList;
// }
public List<PolicemanDto> GetAllPolicemanList(PolicemanReq req) { public List<PolicemanDto> GetAllPolicemanList(PolicemanReq req) {
//查询传入的组织机构id是否存在 if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); (req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
//查询出组织机构下的所有警员信息(如果是查看启用的那么state为1) ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
List<Policeman> list = list(new LambdaQueryWrapper<Policeman>() //修改字段,和数据库字段进行统一
.eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId()) req.setColumn(req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
.like(ObjectUtil.isNotEmpty(req.getName()),Policeman::getName,req.getName()) req.setOrder(req.getOrder().toLowerCase());
.like(ObjectUtil.isNotEmpty(req.getPoliceCode()),Policeman::getPoliceCode,req.getPoliceCode()) }else {
.eq(ObjectUtil.isNotEmpty( req.getState()),Policeman::getState, req.getState())); req.setOrder("desc");
List<PolicemanDto> policeList = new ArrayList<>(); req.setColumn("create_time");
//查询出警员信息下的指纹列表信息
for (Policeman p : list) {
PolicemanDto policemanDto = new PolicemanDto();
BeanPlusUtil.copyProperties(p, policemanDto);
List<PoliceFinger> list1 = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>()
.eq(ObjectUtil.isNotNull(p.getId()), PoliceFinger::getPoliceId, p.getId()));
List<PoliceFingerDto> policeFingerDtoList = new ArrayList<>();
for (PoliceFinger policeFinger : list1) {
PoliceFingerDto policeFingerDto = new PoliceFingerDto();
BeanPlusUtil.copyProperties(policeFinger, policeFingerDto);
policeFingerDtoList.add(policeFingerDto);
}
policemanDto.setFingersList(policeFingerDtoList);
policemanDto.setOrgName(pubOrg.getOrgName());
policeList.add(policemanDto);
} }
return policeList; if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
req.setPageNo(1L);
req.setPageSize(10L);
}
List<PolicemanDto> policemanDtos = policemanMapper.selectUserBypoliceIds
(req.getOrgId(),req.getAccount(),req.getName(),req.getPoliceCode(),
req.getState(),req.getPhone(),req.getFlag(),(req.getPageNo()-1)*req.getPageSize()
,req.getPageSize(),req.getColumn(),req.getOrder(),req.getRoleList());
return policemanDtos;
} }
//通过组织机构id查询警员列表(page) //通过组织机构id查询警员列表(page)
@Override @Override
public PageResult<PolicemanDto> GetAllPolicemanPage(PolicemanReq req) { public PageResult<PolicemanDto> GetAllPolicemanPage(PolicemanReq req) {
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); // PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//查询出组织机构下的所有警员信息 //查询出组织机构下的所有警员信息
//排序字段(默认以用户状态进行排序) //排序字段(默认以用户状态进行排序)
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误) //(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
...@@ -508,10 +529,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -508,10 +529,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
req.setPageNo(1L); req.setPageNo(1L);
req.setPageSize(10L); req.setPageSize(10L);
} }
long size=policemanMapper.count(req.getOrgId(),req.getAccount(),req.getName(),req.getPoliceCode(),req.getState(),req.getPhone(),req.getFlag()); long size=policemanMapper.count(req.getOrgId(),req.getAccount(),req.getName(),req.getPoliceCode(),req.getState(),req.getPhone(),req.getFlag(),req.getRoleList());
List<PolicemanDto> policemanDtos = policemanMapper.selectUserBypoliceIds List<PolicemanDto> policemanDtos = policemanMapper.selectUserBypoliceIds
(req.getOrgId(),req.getAccount(),req.getName(),req.getPoliceCode(), (req.getOrgId(),req.getAccount(),req.getName(),req.getPoliceCode(),
req.getState(),req.getPhone(),req.getFlag(),(req.getPageNo()-1)*req.getPageSize(),req.getPageSize(),req.getColumn(),req.getOrder()); req.getState(),req.getPhone(),req.getFlag(),(req.getPageNo()-1)*req.getPageSize()
,req.getPageSize(),req.getColumn(),req.getOrder(),req.getRoleList());
//判断是否需要添加空数据 //判断是否需要添加空数据
if(req.getIsCreateNullDate()==null || req.getIsCreateNullDate()){ if(req.getIsCreateNullDate()==null || req.getIsCreateNullDate()){
Class<PolicemanDto> policemanDto = PolicemanDto.class; Class<PolicemanDto> policemanDto = PolicemanDto.class;
......
...@@ -9,8 +9,10 @@ import com.junmp.jyzb.api.bean.query.PolicemanReq; ...@@ -9,8 +9,10 @@ import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.query.WarehouseReq; import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum; import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum;
import com.junmp.jyzb.cache.TemperatureRedisCache;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
import com.junmp.jyzb.mapper.*; import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.WarehouseService; import com.junmp.jyzb.service.WarehouseService;
...@@ -23,8 +25,10 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -23,8 +25,10 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Service @Service
@Slf4j @Slf4j
...@@ -37,6 +41,9 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -37,6 +41,9 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
@Resource @Resource
private PubOrgService pubOrgService; private PubOrgService pubOrgService;
@Resource
private TemperatureRedisCache temperatureRedisCache;
@Override @Override
...@@ -164,6 +171,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -164,6 +171,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
return warehouseMapper.alignWarehouseInfo(orgId,date); return warehouseMapper.alignWarehouseInfo(orgId,date);
} }
//除湿机上传温湿度
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateHumidityAndtemperature(HumidityAndtemperature req) {
//查询数据库仓库id取到仓库名称
Warehouse warehouse = getById(req.getWarehouseId());
//将数据放入redis
temperatureRedisCache.addTemperatureHumidity(req.getWarehouseId(),warehouse.getName(),
req.getCreateTime(),req.getHumidity(),req.getTemperature());
//更新仓库的温度和湿度
warehouse.setHumidity(req.getHumidity());
warehouse.setTemperature(req.getTemperature());
return updateById(warehouse);
}
//获取redis中的温湿度记录
@Override
public List<HumidityAndtemperature> showHumidityAndtemperature(WarehouseReq req) {
String date="2023-12-01 00:00:00";
Long startTimeStamp = DateTimeUtil.TimeStringToLong(date);
long endTimeStamp = DateTimeUtil.getCurrentDateTime().getTime();
List<Object> dataByTimestampRange = temperatureRedisCache.getDataByTimestampRange(req.getId(), startTimeStamp, endTimeStamp);
List<HumidityAndtemperature> collect = dataByTimestampRange.stream()
.map(obj -> (HumidityAndtemperature) obj) // 将 YourObjectClass 替换为实际的对象类型
.collect(Collectors.toList());
return collect;
}
} }
...@@ -33,7 +33,7 @@ public class DateTimeUtil { ...@@ -33,7 +33,7 @@ public class DateTimeUtil {
return allPoliceman; return allPoliceman;
} }
//时间戳转时间(String类型) //时间戳转时间(Long->String)
public static String TimeLongToString(Long time){ public static String TimeLongToString(Long time){
//时间戳转时间Date //时间戳转时间Date
if (ObjectUtil.isNotNull(time)){ if (ObjectUtil.isNotNull(time)){
...@@ -46,4 +46,30 @@ public class DateTimeUtil { ...@@ -46,4 +46,30 @@ public class DateTimeUtil {
} }
} }
//String->Long(将string类型的时间转成时间戳)
public static Long TimeStringToLong(String time){
if (ObjectUtil.isNotNull(time) && !time.trim().isEmpty()){
Date date = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = sdf.parse(time);
} catch (ParseException e) {
throw new RuntimeException(e);
}
long timestamp = date.getTime();
return timestamp;
}else {
return null;
}
}
//Date->Long (将date类型转为Long)
public static Long TimeDateToLong(Date time){
if (ObjectUtil.isNotNull(time)){
long time1 = time.getTime();
return time1;
}else {
return null;
}
}
} }
\ No newline at end of file
...@@ -620,16 +620,8 @@ ...@@ -620,16 +620,8 @@
sum( is.broken_number * is.unit_price ) AS broken_number_price sum( is.broken_number * is.unit_price ) AS broken_number_price
FROM FROM
base_inventory_summary `is` base_inventory_summary `is`
join base_equipment_type et on is.type_id=et.id
WHERE WHERE
is.org_id_int = #{req.orgId} is.org_id_int = #{req.orgId} and is.type_id=#{req.typeId}
<if test="req.typeIds !=null and req.typeIds.size()>0">
and (
<foreach collection="req.typeIds" item="item" open="(" separator="or" close=")">
et.id=#{item} or et.parent_ids like CONCAT('%', #{item}, '%')
</foreach>
)
</if>
<if test="req.locationType !='all' and req.locationType != null"> <if test="req.locationType !='all' and req.locationType != null">
and is.location_type=#{req.locationType} and is.location_type=#{req.locationType}
</if> </if>
...@@ -646,8 +638,28 @@ ...@@ -646,8 +638,28 @@
<select id="selectSumByItemsCount" resultType="java.lang.Integer" <select id="selectSumByItemsCount" resultType="java.lang.Integer"
parameterType="com.junmp.jyzb.api.bean.query.InventoryReq"> parameterType="com.junmp.jyzb.api.bean.query.InventoryReq">
select count(*) from ( select count(*) from (
select i.*,et.name as type_name,es.name as size_name,po.org_name as org_name,
) as a bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name,
es.photo as photo,es.instructions as instructions
FROM base_inventory i
JOIN base_equipment_type et on et.id=i.type_id
join base_equipment_size es on es.id=i.size_id
join pub_org po on i.org_id_int=po.org_id
left join base_supplier bs on bs.id=i.supplier_id
LEFT JOIN base_cabinet_box bcb ON i.location_id = bcb.id and i.location_type=1
LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id
LEFT JOIN base_warehouse bw ON i.location_id = bw.id AND i.location_type = 0
WHERE i.org_id_int=#{req.orgId} and i.type_id=#{req.typeId}
<if test="req.locationType !='all' and req.locationType != null">
and i.location_type=#{req.locationType}
</if>
<if test="req.sizeId !=null and req.sizeId != ''">
and i.size_id=#{req.sizeId}
</if>
<if test="req.price !=null and req.price != ''">
and i.price=#{req.price}
</if>
) as a
</select> </select>
<select id="GetDetailByTerms" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto"> <select id="GetDetailByTerms" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto">
select i.*,et.name as type_name,es.name as size_name,po.org_name as org_name, select i.*,et.name as type_name,es.name as size_name,po.org_name as org_name,
...@@ -661,7 +673,19 @@ ...@@ -661,7 +673,19 @@
LEFT JOIN base_cabinet_box bcb ON i.location_id = bcb.id and i.location_type=1 LEFT JOIN base_cabinet_box bcb ON i.location_id = bcb.id and i.location_type=1
LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id
LEFT JOIN base_warehouse bw ON i.location_id = bw.id AND i.location_type = 0 LEFT JOIN base_warehouse bw ON i.location_id = bw.id AND i.location_type = 0
WHERE i.org_id_int=#{req.orgId} and i.type_id=#{req.typeId} and i.size_id=#{req.sizeId} and i.price=#{req.price} WHERE i.org_id_int=#{req.orgId} and i.type_id=#{req.typeId}
<if test="req.locationType !='all' and req.locationType != null">
and i.location_type=#{req.locationType}
</if>
<if test="req.sizeId !=null and req.sizeId != ''">
and i.size_id=#{req.sizeId}
</if>
<if test="req.price !=null and req.price != ''">
and i.price=#{req.price}
</if>
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
limit #{pageNo},#{pageSize}
</if>
</select> </select>
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
) as a ) as a
</select> </select>
<select id="getInOutRecords" resultType="com.junmp.jyzb.entity.LogDetail"> <select id="getInOutRecords" resultType="com.junmp.jyzb.entity.LogDetail">
select ld.*,ls.location_name FROM base_log_detail ld select ld.*,ls.location_name,ls.user_name FROM base_log_detail ld
join base_log_summary ls on ls.id=ld.summary_id join base_log_summary ls on ls.id=ld.summary_id
where epc=#{epc} where epc=#{epc}
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' "> <if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
......
...@@ -250,29 +250,42 @@ WHERE o.org_id IN ...@@ -250,29 +250,42 @@ WHERE o.org_id IN
</select> </select>
<select id="selectUserBypoliceIds" resultType="com.junmp.jyzb.api.bean.dto.PolicemanDto"> <select id="selectUserBypoliceIds" resultType="com.junmp.jyzb.api.bean.dto.PolicemanDto">
select b.* FROM( select b.* FROM(
select select a.*, GROUP_CONCAT(sr.role_name SEPARATOR ',') AS role_name FROM (
su.user_id,su.account,su.status_flag as state,suo.org_id,p.id,p.name,p.police_code, select
p.face_info,p.password,p.photo,p.phone,p.id_card,p.identity,su.create_time,p.hk_face_device su.user_id,su.account,su.status_flag as state,suo.org_id,max(p.id) as id,max(p.name) as name,
FROM sys_user su max(p.police_code) as police_code,max(p.face_info) as face_info,max(p.password) as password,
join sys_user_org suo on su.user_id=suo.user_id and suo.org_id=#{orgId} max(p.photo) as photo,max(p.phone) as phone,max(p.id_card) as id_card,max(p.identity) as identity,
left join base_policeman p on p.user_id=su.user_id max(p.hk_face_device) as hk_face_device,max(su.create_time) as create_time,su.nick_name
and p.org_id_int=#{orgId} FROM sys_user su
where 1=1 join sys_user_org suo on su.user_id=suo.user_id and suo.org_id=#{orgId}
<if test="account!=null and account!=''"> left join base_policeman p on p.user_id=su.user_id and p.org_id_int=#{orgId}
and su.account like CONCAT('%', #{account}, '%') GROUP BY su.user_id
</if> ) as a
<if test="policeCode!=null and policeCode!=''"> JOIN sys_user_role sur on a.user_id=sur.user_id
and p.police_code like CONCAT('%', #{policeCode}, '%') join sys_role sr on sr.role_id=sur.role_id
</if> <if test="roleList != null and roleList.size()>0">
<if test="name!=null and name!=''"> and
and p.name like CONCAT('%', #{name}, '%') <foreach collection="roleList" item="item" open="(" separator="or" close=")">
</if> sr.role_id=#{item}
<if test="phone!=null and phone!=''"> </foreach>
and p.phone like CONCAT('%', #{phone}, '%') </if>
</if> where 1=1
<if test="state!=null and state!=''"> <if test="account!=null and account!=''">
and su.status_flag=#{state} and su.account like CONCAT('%', #{account}, '%')
</if> </if>
<if test="policeCode!=null and policeCode!=''">
and p.police_code like CONCAT('%', #{policeCode}, '%')
</if>
<if test="name!=null and name!=''">
and p.name like CONCAT('%', #{name}, '%')
</if>
<if test="phone!=null and phone!=''">
and p.phone like CONCAT('%', #{phone}, '%')
</if>
<if test="state!=null and state!=''">
and su.status_flag=#{state}
</if>
GROUP BY a.user_id, a.account, a.org_id, a.nick_name
) as b ) as b
<if test="flag == 'true'"> <if test="flag == 'true'">
where b.id is not null where b.id is not null
...@@ -286,35 +299,48 @@ WHERE o.org_id IN ...@@ -286,35 +299,48 @@ WHERE o.org_id IN
</select> </select>
<select id="count" resultType="java.lang.Long"> <select id="count" resultType="java.lang.Long">
select count(*) from( select count(*) from(
select b.* FROM select b.* FROM(
(select select a.*, GROUP_CONCAT(sr.role_name SEPARATOR ',') AS role_name FROM (
su.user_id,su.account,su.status_flag as state,suo.org_id,p.id,p.name,p.police_code,p.face_info,p.password,p.photo,p.phone,p.id_card,p.identity,p.hk_face_device select
FROM sys_user su su.user_id,su.account,su.status_flag as state,suo.org_id,max(p.id) as id,max(p.name) as name,
join sys_user_org suo on su.user_id=suo.user_id and suo.org_id=#{orgId} max(p.police_code) as police_code,max(p.face_info) as face_info,max(p.password) as password,
left join base_policeman p on p.user_id=su.user_id max(p.photo) as photo,max(p.phone) as phone,max(p.id_card) as id_card,max(p.identity) as identity,
and p.org_id_int=#{orgId} max(p.hk_face_device) as hk_face_device,max(su.create_time) as create_time,su.nick_name
where 1=1 FROM sys_user su
<if test="account!=null and account!=''"> join sys_user_org suo on su.user_id=suo.user_id and suo.org_id=#{orgId}
and su.account like CONCAT('%', #{account}, '%') left join base_policeman p on p.user_id=su.user_id and p.org_id_int=#{orgId}
</if> GROUP BY su.user_id
<if test="policeCode!=null and policeCode!=''"> ) as a
and p.police_code like CONCAT('%', #{policeCode}, '%') JOIN sys_user_role sur on a.user_id=sur.user_id
</if> join sys_role sr on sr.role_id=sur.role_id
<if test="name!=null and name!=''"> <if test="roleList != null and roleList.size()>0">
and p.name like CONCAT('%', #{name}, '%') and
</if> <foreach collection="roleList" item="item" open="(" separator="or" close=")">
<if test="phone!=null and phone!=''"> sr.role_id=#{item}
and p.phone like CONCAT('%', #{phone}, '%') </foreach>
</if> </if>
<if test="state!=null and state!=''"> where 1=1
and su.status_flag=#{state} <if test="account!=null and account!=''">
</if> and su.account like CONCAT('%', #{account}, '%')
) as b </if>
<if test="flag == 'true'"> <if test="policeCode!=null and policeCode!=''">
where b.id is not null and p.police_code like CONCAT('%', #{policeCode}, '%')
</if> </if>
) <if test="name!=null and name!=''">
as f and p.name like CONCAT('%', #{name}, '%')
</if>
<if test="phone!=null and phone!=''">
and p.phone like CONCAT('%', #{phone}, '%')
</if>
<if test="state!=null and state!=''">
and su.status_flag=#{state}
</if>
GROUP BY a.user_id, a.account, a.org_id, a.nick_name
) as b
<if test="flag == 'true'">
where b.id is not null
</if>
)as f
</select> </select>
<select id="alignUserInfo" resultType="com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto" <select id="alignUserInfo" resultType="com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto"
parameterType="com.junmp.jyzb.api.bean.query.PolicemanReq"> parameterType="com.junmp.jyzb.api.bean.query.PolicemanReq">
......
...@@ -37,4 +37,6 @@ public class StartProcessInstanceDTO { ...@@ -37,4 +37,6 @@ public class StartProcessInstanceDTO {
//调岗类型,调入还是调出 //调岗类型,调入还是调出
private String reassignmentType; private String reassignmentType;
private String bussinessType;
} }
...@@ -140,6 +140,9 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -140,6 +140,9 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processVariables.put(FORM_Trigger,processInstanceDto.getTriggerId());//获取触发器信息 processVariables.put(FORM_Trigger,processInstanceDto.getTriggerId());//获取触发器信息
processVariables.put(ORDER_ID,processInstanceDto.getOrderId()); processVariables.put(ORDER_ID,processInstanceDto.getOrderId());
processVariables.put(ORDER_TYPE,processInstanceDto.getOrderType()); processVariables.put(ORDER_TYPE,processInstanceDto.getOrderType());
processVariables.put(BUSSINESS_TYPE,processInstanceDto.getBussinessType());
//单据类型
processVariables.put(TYPE,processInstanceDto.getType());
//发物单位 //发物单位
if (ObjectUtil.isNotNull(processInstanceDto.getStartOrgName())){ if (ObjectUtil.isNotNull(processInstanceDto.getStartOrgName())){
processVariables.put(START_ORG_NAME,processInstanceDto.getStartOrgName()); processVariables.put(START_ORG_NAME,processInstanceDto.getStartOrgName());
...@@ -152,8 +155,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -152,8 +155,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
if (ObjectUtil.isNotNull(processInstanceDto.getInvList())){ if (ObjectUtil.isNotNull(processInstanceDto.getInvList())){
processVariables.put(INVLIST,processInstanceDto.getInvList()); processVariables.put(INVLIST,processInstanceDto.getInvList());
} }
//单据类型
processVariables.put(TYPE,processInstanceDto.getType());
//出入库状态 //出入库状态
if (ObjectUtil.isNotNull(processInstanceDto.getOutInState())){ if (ObjectUtil.isNotNull(processInstanceDto.getOutInState())){
processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState()); processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState());
......
...@@ -297,20 +297,22 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -297,20 +297,22 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
sendReq.setSendTime(DateTime.now()); sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq); messageApi.sendMessage(sendReq);
messageApi.queryCount(new MessageReq()); messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/ // /*推送发送未读数量*/
MessageReq req1 = new MessageReq(); // MessageReq req1 = new MessageReq();
req1.setReadFlag(0); // req1.setReadFlag(0);
req1.setReceiveUserId(user.getUserId()); // req1.setReceiveUserId(user.getUserId());
Integer count1 = messageApi.queryCount(req1); // Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(startUser,count1); // messageApi.pushMsgToUser(startUser,count1);
runtimeService.deleteProcessInstance(task.getProcessInstanceId(), "拒绝"); runtimeService.deleteProcessInstance(task.getProcessInstanceId(), "拒绝");
switch (Types){ switch (Types){
case "workOrder": case "workOrder":
case "quickOrder": case "quickOrder":
//更新出入库单
quickSuggestionsMapper.updateOrderMain(task.getProcessInstanceId()); quickSuggestionsMapper.updateOrderMain(task.getProcessInstanceId());
break; break;
case "bussinessOrder": case "bussinessOrder":
if (bussinessType.equals("remove")){ if (bussinessType.equals("remove")){
//更新业务单
UpdateBusFormReq req=quickSuggestionsMapper.getBusForm(task.getProcessInstanceId()); UpdateBusFormReq req=quickSuggestionsMapper.getBusForm(task.getProcessInstanceId());
List<BussinessOrderDetialReq> list = JSON.parseArray(req.getDetailList(), BussinessOrderDetialReq.class); List<BussinessOrderDetialReq> list = JSON.parseArray(req.getDetailList(), BussinessOrderDetialReq.class);
List<Object[]> searchItem=new ArrayList<>(); List<Object[]> searchItem=new ArrayList<>();
...@@ -319,6 +321,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -319,6 +321,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Object[] item=new Object[]{req.getOrgId(),detialReq.getLocationId(),detialReq.getTypeId(),detialReq.getSizeId(),detialReq.getPrice()}; Object[] item=new Object[]{req.getOrgId(),detialReq.getLocationId(),detialReq.getTypeId(),detialReq.getSizeId(),detialReq.getPrice()};
searchItem.add(item); searchItem.add(item);
} }
//查询库存
List<InventorySummaryReq> inventorySummaryList=quickSuggestionsMapper.selectSumByItems(searchItem); List<InventorySummaryReq> inventorySummaryList=quickSuggestionsMapper.selectSumByItems(searchItem);
for (BussinessOrderDetialReq detialReq:list) { for (BussinessOrderDetialReq detialReq:list) {
for (InventorySummaryReq is:inventorySummaryList) { for (InventorySummaryReq is:inventorySummaryList) {
...@@ -336,6 +339,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -336,6 +339,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
} }
//更新库存汇总信息
quickSuggestionsMapper.updateInventorySum(inventorySummaryList); quickSuggestionsMapper.updateInventorySum(inventorySummaryList);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论