Merge remote-tracking branch 'origin/dev_fifo_z' into dev_2.5_optimize

dev_2.5_optimize
chenhc 5 months ago
commit 9f8de20e54

@ -2,6 +2,7 @@ package com.glxp.api.controller.auth;
import cn.hutool.core.date.DateUnit;
import cn.hutool.crypto.SecureUtil;
import com.glxp.api.constant.FileConstant;
import com.glxp.api.res.basic.UserWorkResponse;
import com.glxp.api.res.basic.WorkBindWorkResponse;
import com.glxp.api.service.basic.BasicCollectUserService;
@ -32,14 +33,18 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
import java.util.stream.Collectors;
@ -429,13 +434,62 @@ public class LoginController extends BaseController {
@Value("${WEB_SUB_TITLE}")
private String WEB_SUB_TITLE;
@Value("${WEB_VERSION}")
private String WEB_VERSION;
@Value("${WEB_LOGO}")
private String WEB_LOGO;
@GetMapping("/spms/getTitleConfig")
public BaseResponse getTitleConfig() {
WebTitleResponse webTitleResponse = new WebTitleResponse();
webTitleResponse.setTitle(WEB_TITLE);
webTitleResponse.setSubTitle(WEB_SUB_TITLE);
webTitleResponse.setWebVersion(WEB_VERSION);
webTitleResponse.setWebLogo(WEB_LOGO);
return ResultVOUtils.success(webTitleResponse);
}
@Value("${file_path}")
private String filePath;
@GetMapping(value = "/udiwms/image/getImage")
public void getImage(HttpServletResponse response,
@RequestParam String type,
@RequestParam String name) throws IOException {
File file = new File(filePath + "/register/" + type + "/" + name);
// 检查文件是否存在
if (!file.exists()) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
OutputStream os = null;
try {
// 读取图片
BufferedImage image = ImageIO.read(new FileInputStream(file));
response.setContentType("image/png");
os = response.getOutputStream();
if (image != null) {
ImageIO.write(image, "png", os);
}
} catch (IOException e) {
e.printStackTrace();
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
} finally {
if (os != null) {
try {
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

@ -120,6 +120,16 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.page(pageInfo);
}
/**
*
* @param orderDetailResultRequest
* @return
*/
@GetMapping("/udiwms/inout/resultDetail/filterProductOutList")
public BaseResponse filterProductOutList(FilterOrderDetailResultRequest orderDetailResultRequest) {
PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(getOrderResultProductOut(orderDetailResultRequest));
return ResultVOUtils.page(pageInfo);
}
public List<IoOrderDetailResultResponse> getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) {
if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) {
@ -160,6 +170,15 @@ public class IoOrderDetailResultController extends BaseController {
}
public List<IoOrderDetailResultResponse> getOrderResultProductOut(FilterOrderDetailResultRequest orderDetailResultRequest) {
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderProductOutList(orderDetailResultRequest);
return list;
}
@GetMapping("/udiwms/inout/resultDetail/exportExcel")
public void exportTemplate(FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException {
// 模拟数据库获取数据

@ -1,6 +1,7 @@
package com.glxp.api.controller.inv;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.service.inout.IoOrderDetailResultService;
import com.glxp.api.service.inv.impl.InvProductService;
import com.glxp.api.service.inv.impl.InvProductServiceNew;
import com.glxp.api.vo.basic.InvProductNewVo;
@ -62,6 +63,8 @@ public class InvProductController extends BaseController {
InvWarehouseService invWarehouseService;
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
private IoOrderDetailResultService ioOrderDetailResultService;
/**
*
@ -201,6 +204,27 @@ public class InvProductController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param filterInvProductDetailRequest
* @return
*/
@GetMapping("/spms/inv/product/filterDetailOut")
public BaseResponse filterInvProductDetailOut(FilterInvProductDetailRequest filterInvProductDetailRequest) {
if (!"".equals(filterInvProductDetailRequest.getOrderBy())) {
filterInvProductDetailRequest.setOrderBy("updateTime");
}
List<InvProductDetailResponse> invProductDetailEntities = ioOrderDetailResultService.filterInvProductDetailOutList(filterInvProductDetailRequest);
PageInfo<InvProductDetailResponse> pageInfo = new PageInfo<>(invProductDetailEntities);
PageSimpleResponse<InvProductDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(invProductDetailEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*

@ -4,9 +4,11 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse;
import com.glxp.api.res.inv.IoOrderDetailStatRsponse;
import io.lettuce.core.dynamic.annotation.Param;
@ -30,6 +32,8 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
*/
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest);
List<IoOrderDetailResultResponse> filterOrderProductOutList(FilterOrderDetailResultRequest orderDetailResultRequest);
/**
*
*
@ -44,4 +48,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
List<IoExOrderDetailResultResponse> exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest);
List<InvProductDetailResponse> filterInvProductDetailOutList(FilterInvProductDetailRequest filterInvProductDetailRequest);
}

@ -95,5 +95,18 @@ public class IoCollectSet implements Serializable {
@ApiModelProperty(value = "只允许上货单一产品开关0")
private Boolean splitOutOnlyProductSwitch;
@TableField(value = "scanMaxCount")
@ApiModelProperty(value = "扫码数量")
private Integer scanMaxCount;
@TableField(value = "pdaMaxCount")
@ApiModelProperty(value = "PDA扫码数量")
private Integer pdaMaxCount;
@TableField(value = "ipcMaxCount")
@ApiModelProperty(value = "工控扫码数量")
private Integer ipcMaxCount;
private static final long serialVersionUID = 1L;
}

@ -57,6 +57,7 @@ public class FilterOrderDetailResultRequest extends ListPageRequest {
private String action;
private String mainAction;
private Integer inoutPrintStatus;
private Integer hcType;
private String invName;
private String employeeName;
private String fromInvName;

@ -94,4 +94,5 @@ public class FilterInvProductDetailRequest extends ListPageRequest {
private String startTime;
private String endTime;
private String hcType;
}

@ -7,4 +7,13 @@ public class WebTitleResponse {
private String title;
private String subTitle;
/**
*
*/
private String webVersion;
/**
* logo
*/
private String webLogo;
}

@ -2,6 +2,7 @@ package com.glxp.api.service.collect;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.collect.IoCollectSet;
@ -10,7 +11,13 @@ import com.glxp.api.dao.collect.IoCollectSetMapper;
public class IoCollectSetService extends ServiceImpl<IoCollectSetMapper, IoCollectSet> {
public IoCollectSet getSet() {
List<IoCollectSet> collectSets = this.list();
List<IoCollectSet> collectSets = new ArrayList<>();
try {
collectSets = this.list();
}catch (Exception e){
return new IoCollectSet();
}
return collectSets.get(0);
}
}

@ -4,14 +4,18 @@ import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse;
import java.util.List;
public interface IoOrderDetailResultService {
List<InvProductDetailResponse> filterInvProductDetailOutList(FilterInvProductDetailRequest filterInvProductDetailRequest);
List<IoOrderDetailResultEntity> findByOrderId(String orderId);
@ -27,6 +31,8 @@ public interface IoOrderDetailResultService {
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest);
List<IoOrderDetailResultResponse> filterOrderProductOutList(FilterOrderDetailResultRequest orderDetailResultRequest);
List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest);

@ -8,9 +8,11 @@ import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse;
import com.glxp.api.service.inout.IoOrderDetailResultService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -26,6 +28,17 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
@Resource
IoOrderDetailResultDao orderDetailResultDao;
@Override
public List<InvProductDetailResponse> filterInvProductDetailOutList(FilterInvProductDetailRequest filterInvProductDetailRequest) {
if (null == filterInvProductDetailRequest) {
return Collections.emptyList();
}
if (null != filterInvProductDetailRequest.getPage() && null != filterInvProductDetailRequest.getLimit()) {
PageHelper.offsetPage((filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(), filterInvProductDetailRequest.getLimit());
}
return orderDetailResultDao.filterInvProductDetailOutList(filterInvProductDetailRequest);
}
@Override
public List<IoOrderDetailResultEntity> findByOrderId(String orderId) {
return orderDetailResultDao.selectList(new QueryWrapper<IoOrderDetailResultEntity>().eq("orderIdFk", orderId));
@ -75,6 +88,17 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
return orderDetailResultDao.filterOrderList(orderDetailResultRequest);
}
@Override
public List<IoOrderDetailResultResponse> filterOrderProductOutList(FilterOrderDetailResultRequest orderDetailResultRequest) {
if (null == orderDetailResultRequest) {
return Collections.emptyList();
}
if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) {
PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit());
}
return orderDetailResultDao.filterOrderProductOutList(orderDetailResultRequest);
}
@Override
public List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest) {
if (StrUtil.isNotEmpty(cptTraceRequest.getSerialNo())) {

@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://192.168.0.166:3306/udi_wms_cl?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://192.168.0.43:3306/nj_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

@ -38,3 +38,6 @@ server:
WEB_TITLE: 平潭协和医院
WEB_SUB_TITLE: 医院UDI管理系统
WEB_VERSION:
WEB_LOGO:
#http://127.0.0.1:9991/udiwms/image/getImage?type=image1&name=dima.jpg

@ -141,6 +141,117 @@
group by a2.id
</select>
<select id="filterOrderProductOutList" resultType="com.glxp.api.res.inout.IoOrderDetailResultResponse">
SELECT a2.coName,
a2.spec,
a2.measname,
a2.bindRlFk,
a2.nameCode,
a1.invCode,
SUM(
CASE
WHEN a1.mainAction = 'WareHouseOut' THEN
COALESCE(a2.count, 0)
WHEN a1.mainAction = 'WareHouseIn' THEN
-(
COALESCE(a2.count, 0))
ELSE 0
END
) AS `count`
FROM auth_warehouse aw
LEFT JOIN io_order a1 ON a1.fromInvCode = aw.CODE
LEFT JOIN io_order_detail_result a2 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_udirel bu ON a2.bindRlFk = bu.id
<where>
a1.status = 7
and a2.bindRlFk is not null
<if test="hcType != null and hcType != ''">
AND bu.hcType = #{hcType}
</if>
<if test="invCode != null and invCode != ''">
AND a1.invCode = #{invCode}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="action != null and action != ''">
AND a1.action = #{action}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp}
</if>
<if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''">
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and
date_format(#{endAduditTime}, '%Y-%m-%d')
</if>
<if test="actions != null and actions.size() != 0">
AND a1.`action` in
<foreach collection="actions" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
group by a2.bindRlFk
</select>
<select id="filterInvProductDetailOutList" resultType="com.glxp.api.res.inv.InvProductDetailResponse">
SELECT a2.coName,
a2.spec,
a2.measname,
a2.bindRlFk,
a2.nameCode,
a2.batchNo,
a2.productDate as produceDate,
a2.expireDate,
a1.invCode,
a2.price,
a2.count as outCount,
a1.billNo as orderId,
a1.mainAction,
a1.auditTime as orderTime
FROM auth_warehouse aw
LEFT JOIN io_order a1 ON a1.fromInvCode = aw.CODE
LEFT JOIN io_order_detail_result a2 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_udirel bu ON a2.bindRlFk = bu.id
<where>
a1.status = 7
and a2.bindRlFk is not null
<if test="hcType != null and hcType != ''">
AND bu.hcType = #{hcType}
</if>
<if test="invCode != null and invCode != ''">
AND a1.invCode = #{invCode}
</if>
<if test="relId != null and relId != ''">
AND a2.bindRlFk = #{relId}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="action != null and action != ''">
AND a1.action = #{action}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and
date_format(#{endTime}, '%Y-%m-%d')
</if>
</where>
</select>
<select id="selectStatDataByTime" resultType="com.glxp.api.res.inv.IoOrderDetailStatRsponse">
select orderIdFk,
bindRlFk,

@ -5220,4 +5220,15 @@ CALL Pro_Temp_ColumnWork('io_collect_code_backup', 'relCodeCount',
INSERT IGNORE INTO sys_scheduled(`id`, `cronName`, `cron`, `customerId`, `remark`)
VALUES (510,'collectOrderEelCodeCountTask', '0 0 */8 * * *', NULL, '定时拉取关联关系数量到上传医保码表');
CALL Pro_Temp_ColumnWork('io_collect_set', 'scanMaxCount',
'int NULL DEFAULT NULL COMMENT ''扫码数量''',
1);
CALL Pro_Temp_ColumnWork('io_collect_set', 'pdaMaxCount',
'int NULL DEFAULT NULL COMMENT ''PDA扫码数量''',
1);
CALL Pro_Temp_ColumnWork('io_collect_set', 'ipcMaxCount',
'int NULL DEFAULT NULL COMMENT ''PDA扫码数量''',
1);

Loading…
Cancel
Save