Commit c795ae0b by 李小惠

修改归还入库关联业务单逻辑以及代码,修改OA提出BUG

parent c711c99f
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -144,4 +144,8 @@ public class InventoryDto implements Serializable {
private Integer property;
private String sizePhoto;
private String typePhoto;
}
......@@ -11,4 +11,6 @@ public class MQDto {
private List<String> idList;
private String message;
private String orderId;
private String warehouseId;
private Integer warehouseState;
}
......@@ -11,10 +11,13 @@ public class NormalInOutDto {
*orgId 组织机构id
*/
private Long orgId;
private String valuekey;
/**
*orgName 组织机构名称
*/
private String orgName;
private String orgCode;
/**
*typeId 装备类型id
*/
......@@ -39,16 +42,16 @@ public class NormalInOutDto {
* 位置名称
*/
private String locationName;
/**
* 单价
*/
private BigDecimal price;
/**
*number 库存数量
*/
private Integer number;
//出入库状态
private String outInState;
private Integer property;
}
......@@ -32,6 +32,8 @@ public class LogSummaryReq extends BaseRequest {
*/
private String orgName;
private String orderCode;
/**
* 单据id
*/
......
......@@ -130,6 +130,8 @@ public class OrderMainReq extends BaseRequest {
//计划子单json
private String eqsJson;
private Integer orderCurrentState;
}
......@@ -180,5 +180,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
private Date createTime;
//计划子单json
private String eqsJson;
private Integer orderCurrentState;
}
......@@ -26,10 +26,11 @@ public class OutInRecordRedisCache extends AbstractRedisCache<Object> {
getRedisTemplate().opsForZSet().add("orderMainId:"+orderMainId, req, timestamp);
put(orderMainId, req);
}
public List<Object> getDataByTimestampRange(String orderMainId, long startTimestamp, long endTimestamp) {
public List<Object> getDataByTimestampRange(String orderMainId) {
Set<Object> dataInRange =getRedisTemplate().opsForZSet().rangeByScore(orderMainId, startTimestamp, endTimestamp);
// Set<Object> dataInRange =getRedisTemplate().opsForZSet().rangeByScore("orderMainId:"+orderMainId, startTimestamp, endTimestamp);
Set<Object> range = getRedisTemplate().opsForZSet().range("orderMainId:" + orderMainId, 0, -1);
return new ArrayList<>(dataInRange);
return new ArrayList<>(range);
}
}
......@@ -27,7 +27,8 @@ import javax.annotation.Resource;
@Slf4j
@RequestMapping("/BussinessInventory")
@Api(tags = "[盘点]盘点管理模块")
public class BussinessInventoryController {
public class
BussinessInventoryController {
@Resource
private BussinessInventoryService BussinessInventoryService;
......
......@@ -8,15 +8,19 @@ import com.baomidou.mybatisplus.core.toolkit.AES;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.junmp.jyzb.api.bean.dto.UploadPolicePhotoDto;
import com.junmp.jyzb.api.bean.query.DbAccessReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.req.UploadPolicePhotoReq;
import com.junmp.jyzb.api.bean.vo.AuthAccessVo;
import com.junmp.jyzb.api.exception.enums.PublicExceptionEnum;
import com.junmp.jyzb.cache.MsgRedisCache;
import com.junmp.jyzb.cache.OutInRecordRedisCache;
import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.service.PolicemanService;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.PublicService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.FileUtil;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
......@@ -55,6 +59,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -80,8 +85,11 @@ public class PublicController {
@Resource
private PublicService publicService;
@Resource
private MsgRedisCache redisCache;
@Resource
private OutInRecordRedisCache outInRecordRedisCache;
private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true";
......@@ -137,4 +145,13 @@ public class PublicController {
}
@PostMapping("/aaa")
public ApiRes<List<Object>> aaa(@RequestBody OrderMainReq req){
List<Object> dataByTimestampRange = outInRecordRedisCache.getDataByTimestampRange(req.getId());
return ApiRes.success(dataByTimestampRange);
}
}
......@@ -167,5 +167,8 @@ public class OrderMain implements Serializable {
@TableField("eqs_json")
private String eqsJson;
@TableField("order_current_state")
private Integer orderCurrentState;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -1825,11 +1825,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
}
if (ObjectUtil.isNotNull(req.getUserId())){
eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,req.getUserId())
.or().like(Reassignment::getExamineState,req.getUserId()));
.or().like(Reassignment::getHistoryAssign,req.getUserId()));
}else {
LoginUser loginUser = LoginContext.getContext().getLoginUser();
eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,loginUser.getUserId())
.or().like(Reassignment::getExamineState,loginUser.getUserId()));
.or().like(Reassignment::getHistoryAssign,loginUser.getUserId()));
}
Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page);
......
......@@ -353,7 +353,9 @@ public class TjServiceImpl implements TjService {
//
// 等待所有 CompletableFuture 完成
allOf.join();
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){
//获取本级数据
......@@ -430,6 +432,8 @@ public class TjServiceImpl implements TjService {
finalTjOrgPriceDto.setDestoryPrice(BigDecimal.ZERO);
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
//根据条件查询财务汇总表
List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() ->
......@@ -441,12 +445,11 @@ public class TjServiceImpl implements TjService {
// 等待所有 CompletableFuture 完成
allOf.join();
List<TjOrgPriceDto> tjOrgPriceDtoList = orgList.parallelStream()
.map(orgId -> CompletableFuture.supplyAsync(() ->
priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(), req.getTypeIdsList(), req.getSizeNameList())))
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){
//获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
......
......@@ -183,6 +183,19 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
Warehouse warehouse = WarehoustExist(req.getId());
BeanPlusUtil.copyProperties(req, warehouse);
warehouse.setUpdateTime(DateTimeUtil.getCurrentDateTime());
MQDto mqDto = new MQDto();
mqDto.setApi("warehouseState");
mqDto.setWarehouseId(req.getId());
if (req.getState()==1){
mqDto.setMessage("仓库启用");
mqDto.setWarehouseState(1);
}else {
mqDto.setMessage("仓库禁用");
mqDto.setWarehouseState(0);
}
mqDto.setType(10);
MQ.SendMsg("warehouseMsg",req.getOrgId().toString(),mqDto);//推送至仓库主机
return this.updateById(warehouse);
}
......@@ -236,9 +249,15 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
// String date="2023-12-01 00:00:00";
// Long startTimeStamp = DateTimeUtil.TimeStringToLong(date);
// Long endTimeStamp = DateTimeUtil.getCurrentDateTime().toInstant().toEpochMilli();
List<Object> dataByTimestampRange =new ArrayList<>();
if (ObjectUtil.isNotNull(req.getStartTime()) && ObjectUtil.isNotNull(req.getEndTime())){
Long startTimeStamp = DateTimeUtil.TimeDateToLong(req.getStartTime());
Long endTimeStamp = DateTimeUtil.TimeDateToLong(req.getEndTime());
List<Object> dataByTimestampRange = temperatureRedisCache.getDataByTimestampRange(req.getId(), startTimeStamp, endTimeStamp);
dataByTimestampRange = temperatureRedisCache.getDataByTimestampRange(req.getId(), startTimeStamp, endTimeStamp);
}else {
temperatureRedisCache.getRedisTemplate().opsForZSet().range("WarehouseDev:"+req.getId(),0,-1);
}
List<HumidityAndtemperature> collect = dataByTimestampRange.stream()
.map(obj -> (HumidityAndtemperature) obj)
.sorted(Comparator.comparingLong(HumidityAndtemperature::getCreateTime).reversed())
......
......@@ -697,7 +697,7 @@
join base_inventory i on a.epc=i.epc
<if test="req.state == 'expire'">
and i.warranty_period != 0 and DATE_ADD(i.production_date, INTERVAL i.warranty_period MONTH) &lt; NOW() and
i.state != "broken" and i.state != "destoty"
i.state != "broken" and i.state != "destory"
</if>
<if test="req.state == 'destory'">
and i.state = "destory"
......
......@@ -308,6 +308,7 @@
(
org_id_int = ${item[0]} AND location_id = '${item[1]}' AND type_id = ${item[2]} AND size_id = '${item[3]}'
AND unit_price = ${item[4]}
and property=${item[5]}
)
</foreach>
......@@ -786,7 +787,7 @@
i.production_date,i.warranty_period,i.maintenance_period, i.term_state,
i.area_id,et.name as type_name,es.name as size_name,po.org_name as org_name,
bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name,
es.photo as photo,es.instructions as instructions
es.photo as photo,es.instructions as instructions,et.photo as type_photo,es.photo as size_photo
FROM base_warehouse_inventory wi
LEFT JOIN base_inventory i ON i.epc = wi.epc
LEFT JOIN base_equipment_type et ON et.id = i.type_id
......@@ -812,7 +813,6 @@
<if test="req.price !=null and req.price != ''">
and i.price=#{req.price}
</if>
ORDER BY wi.type_id,i.size_id
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
limit #{pageNo},#{pageSize}
......
......@@ -84,6 +84,9 @@
<if test="req.endOrgId != null and req.endOrgId != ''">
and end_org_id = #{req.endOrgId}
</if>
<if test="req.orderCurrentState != null and req.orderCurrentState!=''" >
and order_current_state = 1
</if>
<if test="req.orderType=='in'">
and ( end_org_user_id = #{userId}
or history_assign like CONCAT('%', #{userId}, '%') or current_assign like CONCAT('%', #{userId}, '%'))
......
......@@ -13,6 +13,7 @@ public interface CommonConstants {
String FORM_Trigger="formTrigger";
String PROCESS_STATUS="processStatus";
String START_USER_INFO="startUser";
String START_USER="startUserName";
String ORDER_ID="orderId";
String TYPE_ORDER="typeOrder";
String START_ORG_NAME="startOrgName";//发物单位
......
......@@ -33,4 +33,6 @@ public class ApplyDTO extends PageDTO {
private String processId;
private String startUser;
}
......@@ -35,4 +35,6 @@ public class TaskDTO extends PageDTO {
private Boolean isCreateNullDate;
private String processId;
//申请人
private String startUser;
}
......@@ -160,6 +160,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState());
}
processVariables.put(START_USER_INFO,JSONObject.toJSONString(StartUser));
processVariables.put(START_USER,StartUser.getRealName());
processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1);
//领用人,调岗人
if (ObjectUtil.isNotNull(processInstanceDto.getUserName())){
......
......@@ -458,16 +458,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskQuery = taskQuery.processDefinitionNameLike("%"+taskDTO.getProcessDefinitionName()+"%");
}
//装备名称
if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){
taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%");
}
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%");
taskQuery = taskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%");
taskQuery = taskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
......@@ -483,6 +486,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser())){
taskQuery=taskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
}
Object aa= taskQuery.list();
// taskQuery.
......@@ -570,11 +577,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%");
historicTaskQuery = historicTaskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%");
historicTaskQuery = historicTaskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
......@@ -590,6 +599,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser()) ){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
}
// List<HistoricTaskInstance> tasks = historicTaskQuery.list();
List<HistoricTaskInstance> tasks = historicTaskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize());
long count = historicTaskQuery.count();
......@@ -705,10 +719,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
//发物单位
if (ObjectUtil.isNotNull(applyDTO.getStartOrgName()) && ! applyDTO.getStartOrgName().trim().isEmpty()){
desc = desc.variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%");
desc = desc.variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(applyDTO.getEndOrgName()) && ! applyDTO.getEndOrgName().trim().isEmpty()){
desc = desc.variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%");
desc = desc.variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){
......@@ -725,6 +741,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
}
//申请人
if (ObjectUtil.isNotNull(applyDTO.getStartUser())){
desc=desc.variableValueEquals(START_USER,applyDTO.getStartUser());
}
List<HistoricProcessInstance> historicProcessInstances = desc.listPage((applyDTO.getPageNo() - 1) * applyDTO.getPageSize(), applyDTO.getPageSize());
long count = desc.count();
// long count = historyService.createHistoricProcessInstanceQuery()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论