8ffc3d11 by Quilan

删除部分

1 parent de191d42
Showing 549 changed files with 0 additions and 4791 deletions
1 package com.phxl.modules.goods.entity.supplierstock;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5
6 /**
7 * 供应商库存信息
8 */
9
10 public class SupplierStock{
11
12 private String suppliercode; //供应商代码
13 private String suppliername; //供应商名称
14 private String goodsCode; //商品编码
15 private String goodsName; //商品名称
16 private String goodsSpec; //商品规格
17 private String manufacturer; //生产厂商
18 private String lot; //批号
19 private Date productionDate; //生产日期
20 private Date expireDate; //有效期至
21 private BigDecimal stockQty; //库存数量
22 private Date createTime; //创建时间
23 private Date updateTime; //更新时间
24
25 private String id;
26
27 public String getId() {
28 return id;
29 }
30 public void setId(String id) {
31 this.id = id;
32 }
33
34 public String getSuppliercode() {
35 return suppliercode;
36 }
37 public void setSuppliercode(String suppliercode) {
38 this.suppliercode = suppliercode;
39 }
40 public String getSuppliername() {
41 return suppliername;
42 }
43 public void setSuppliername(String suppliername) {
44 this.suppliername = suppliername;
45 }
46 public String getGoodsCode() {
47 return goodsCode;
48 }
49 public void setGoodsCode(String goodsCode) {
50 this.goodsCode = goodsCode;
51 }
52 public String getGoodsName() {
53 return goodsName;
54 }
55 public void setGoodsName(String goodsName) {
56 this.goodsName = goodsName;
57 }
58 public String getGoodsSpec() {
59 return goodsSpec;
60 }
61 public void setGoodsSpec(String goodsSpec) {
62 this.goodsSpec = goodsSpec;
63 }
64 public String getManufacturer() {
65 return manufacturer;
66 }
67 public void setManufacturer(String manufacturer) {
68 this.manufacturer = manufacturer;
69 }
70 public String getLot() {
71 return lot;
72 }
73 public void setLot(String lot) {
74 this.lot = lot;
75 }
76 public Date getProductionDate() {
77 return productionDate;
78 }
79 public void setProductionDate(Date productionDate) {
80 this.productionDate = productionDate;
81 }
82 public Date getExpireDate() {
83 return expireDate;
84 }
85 public void setExpireDate(Date expireDate) {
86 this.expireDate = expireDate;
87 }
88 public BigDecimal getStockQty() {
89 return stockQty;
90 }
91 public void setStockQty(BigDecimal stockQty) {
92 this.stockQty = stockQty;
93 }
94 public Date getCreateTime() {
95 return createTime;
96 }
97 public void setCreateTime(Date createTime) {
98 this.createTime = createTime;
99 }
100 public Date getUpdateTime() {
101 return updateTime;
102 }
103 public void setUpdateTime(Date updateTime) {
104 this.updateTime = updateTime;
105 }
106
107 }
1 package com.phxl.common.response;
2
3 import com.alibaba.fastjson.annotation.JSONField;
4
5 public class PlatFormResponse{
6
7 public String getFlag() {
8 return flag;
9 }
10
11 public void setFlag(String flag) {
12 this.flag = flag;
13 }
14
15 public String getMsg() {
16 return msg;
17 }
18
19 public void setMsg(String msg) {
20 this.msg = msg;
21 }
22
23 /**
24 * 平台接口返回状态码
25 */
26 @JSONField(name="FLAG")
27 private String flag;
28
29 /**
30 * 平台接口返回信息
31 */
32 @JSONField(name="MSG")
33 private String msg;
34
35
36 }
1 package com.phxl.modules.goods.service.interfaceLog;
2
3 import java.util.Date;
4
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Service;
7
8 import com.phxl.common.response.PlatFormResponse;
9 import com.phxl.modules.goods.dao.interfaceLog.InterfaceLogDao;
10 import com.phxl.modules.goods.entity.interfaceLog.InterfaceLog;
11
12 @Service
13 public class InterfaceLogService {
14
15 @Autowired
16 private InterfaceLogDao interfaceLogDao;
17
18 public void saveLog(String method, String params, String id){
19 InterfaceLog interfaceLog = new InterfaceLog();
20 interfaceLog.setId(id);
21 interfaceLog.setRequestMethod(method);
22 interfaceLog.setRequestTime(new Date());
23 interfaceLog.setRequestParam(params);
24 interfaceLogDao.insert(interfaceLog);
25 }
26
27 public void setResultLog(PlatFormResponse hisResponse, String id, String exception){
28 InterfaceLog interfaceLog = new InterfaceLog();
29 interfaceLog.setId(id);
30 interfaceLog.setResultCode(hisResponse.getFlag());
31 interfaceLog.setResultContent(hisResponse.getMsg());
32 if(exception != null){
33 interfaceLog.setException(exception);
34 }
35 interfaceLogDao.update(interfaceLog);
36 }
37
38 }
1 package com.phxl.common.utils;
2
3
4
5 public class BaseException extends RuntimeException {
6 /**
7 */
8 private static final long serialVersionUID = 1L;
9 private int code;
10 private String msg;
11 private Object[] param=null;
12
13 public Object[] getParam() {
14 return param;
15 }
16
17 public void setParam(Object[] param) {
18 this.param = param;
19 }
20
21 public BaseException(String msg) {
22 super(msg);
23 this.code = ReturnCode.ERROR;
24 this.msg = msg;
25 }
26
27 public BaseException(int code) {
28 this.code = code;
29 }
30
31 public BaseException(int code, String msg) {
32 super(msg);
33 this.code = code;
34 this.msg = msg;
35 }
36
37 public BaseException(int code, Object ...agrs) {
38 param = agrs;
39 this.code = code;
40 }
41
42 public int getCode() {
43 return code;
44 }
45
46 public void setCode(int code) {
47 this.code = code;
48 }
49
50 public String getMsg() {
51 return msg;
52 }
53
54 public void setMsg(String msg) {
55 this.msg = msg;
56 }
57
58
59 }
1 eclipse.preferences.version=1
2 encoding//conf/prod=UTF-8
3 encoding//conf/prod/config.properties=UTF-8
4 encoding//conf/stg/config.properties=UTF-8
5 encoding//conf/test=UTF-8
6 encoding//conf/test/config.properties=UTF-8
7 encoding//src/main/java=UTF-8
8 encoding//src/main/resources=UTF-8
9 encoding//src/test/java=UTF-8
10 encoding/<project>=UTF-8
1 package com.phxl.modules.goods.entity.supplierstock;
2
3 public class SupplierStockList {
4 public SupplierStock getData() {
5 return data;
6 }
7
8 public void setData(SupplierStock data) {
9 this.data = data;
10 }
11
12 private SupplierStock data;
13 }
1 package com.phxl.modules.goods.dao.spills;
2
3 import com.phxl.modules.goods.entity.spills.HisSpills;
4
5 public interface HisSpillsDao {
6
7 void insert(HisSpills hisSpills);
8
9 }
1 package com.phxl.modules.goods.dao.medinstore;
2
3 import com.phxl.modules.goods.entity.medinstore.MedInStore;
4
5 public interface MedInStoreDao {
6 void insert(MedInStore medInStore);
7
8 }
1 <?xml version="1.0" ?>
2
3 <!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
4 debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
5 <configuration scan="true" scanPeriod="600 seconds" debug="false">
6 <!-- 定义日志文件 输入位置 -->
7 <property name="log_dir" value="d://supplierlog"/>
8 <!-- 日志最大的历史-->
9 <property name="maxHistory" value="90"/>
10 <property name="normal-pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n"/>
11
12 <!-- ConsoleAppender 控制台输出日志 -->
13 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
14 <!-- 对日志进行格式化 -->
15 <encoder>
16 <pattern>${normal-pattern}</pattern>
17 </encoder>
18 </appender>
19
20 <!-- ERROR级别日志 -->
21 <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
22 <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
23 <!-- 过滤器,只记录WARN级别的日志 -->
24 <filter class="ch.qos.logback.classic.filter.LevelFilter">
25 <level>ERROR</level>
26 <onMatch>ACCEPT</onMatch>
27 <onMismatch>DENY</onMismatch>
28 </filter>
29 <file>${log_dir}/error.log</file>
30 <!-- 配置日志所生成的目录-->
31 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
32 <fileNamePattern>${log_dir}/error-%d{yyyy-MM-dd-HH}.log.gz</fileNamePattern>
33 <maxHistory>${maxHistory}</maxHistory>
34 </rollingPolicy>
35 <encoder>
36 <pattern>${normal-pattern}</pattern>
37 </encoder>
38 </appender>
39
40 <!-- INFO级别日志 appender -->
41 <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
42 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
43 <level>INFO</level>
44 </filter>
45 <file>${log_dir}/info.log</file>
46 <!-- 配置日志所生成的目录-->
47 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
48 <fileNamePattern>${log_dir}/info-%d{yyyy-MM-dd-HH}.log.gz</fileNamePattern>
49 <maxHistory>${maxHistory}</maxHistory>
50 </rollingPolicy>
51 <encoder>
52 <pattern>${normal-pattern}</pattern>
53 </encoder>
54 </appender>
55
56 <!-- DEBUG级别日志 appender -->
57 <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
58 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
59 <level>DEBUG</level>
60 </filter>
61 <file>${log_dir}/debug.log</file>
62 <!-- 配置日志所生成的目录-->
63 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
64 <fileNamePattern>${log_dir}/debug-%d{yyyy-MM-dd-HH}.log.gz</fileNamePattern>
65 <maxHistory>${maxHistory}</maxHistory>
66 </rollingPolicy>
67 <encoder>
68 <pattern>${normal-pattern}</pattern>
69 </encoder>
70 </appender>
71
72 <logger name="org.apache.zookeeper.ClientCnxn" level="ERROR" additivity="false"/>
73
74 <logger name="com.phxl.modules.goods.dao" level="debug" additivity="false">
75 <appender-ref ref="debug" />
76 </logger>
77
78 <!-- root级别 DEBUG -->
79 <root level="DEBUG">
80 <!-- 控制台输出 -->
81 <appender-ref ref="STDOUT" />
82 <!-- 文件输出 -->
83 <appender-ref ref="ERROR" />
84 <appender-ref ref="INFO" />
85 <appender-ref ref="DEBUG" />
86 </root>
87 </configuration>
...\ No newline at end of file ...\ No newline at end of file
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html lang="en">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5 <title>送货单打印(普通A4)</title>
6 </head>
7 <body>
8 <div>
9 <div>
10 <table width="100%" border="0" cellspacing="0" cellpadding="0">
11 <tr>
12 <td height="30" colspan="3"><h3 style=" font-weight:bold;text-align:center;letter-spacing: 5px;font-size:24px;">${rOrgName}${printDeliveryName}设备送货单</h3></td>
13 <td width="12%" height="30" rowspan="4" valign="top">${qrCode}</td>
14 </tr>
15 <tr>
16 <td width="25%" height="30">供应商:${fOrgName}</td>
17 <td width="25%" height="30">送货单号:${sendNo}</td>
18 <!--<td width="25%" height="30">医疗机构:${rOrgName}</td> -->
19 </tr>
20 <tr>
21 <td height="30">制单人:${sendUserName}</td>
22 <td height="30" colspan="2">制单时间:${sendDate}</td>
23 </tr>
24 <tr>
25 <td height="30" >收货科室:${tDeptName}</td>
26 <td height="30" colspan="2">收货地址:${tfAddress}</td>
27 </tr>
28 <tr>
29
30 </tr>
31 </table>
32 </div>
33 <div>
34 <table style="border-collapse:collapse;border-spacing:0;font-size: 14px;">
35 <tr style="height: 25px;">
36 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;">序号</td>
37 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="190">产品名称</td>
38 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="100">规格</td>
39 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="100">型号</td>
40 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="50">单位</td>
41 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="50">数量</td>
42 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;" width="50">单价</td>
43 <td style="background: #eaeaea;text-align: center;border-left:1px solid #000000;border-top:1px solid #000000;border-right:1px solid #000000;" width="80">金额</td>
44 </tr>
45 ${tableContent}
46 </table>
47 </div>
48 <div>
49 ${afterTable
50 <table width="100%" border="0" cellspacing="0" cellpadding="0">
51 <tr height="35px;">
52 <td width="30%" align="left">验收人:</td>
53 <td width="30%" align="left">收货人:</td>
54 <td width="20%" align="left">总金额:${totalPrice}</td>
55 </tr>
56 </table>
57 }
58 </div>
59 </div>
60 </body>
61 </html>
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.entity.medinstore;
2
3
4 public class MedInStoreWithDetail {
5 public MedInStore getBill() {
6 return bill;
7 }
8
9 public void setBill(MedInStore bill) {
10 this.bill = bill;
11 }
12
13 private MedInStore bill;
14
15 }
1 /**
2 * Project Name:html2pdf File Name:PdfReportHeaderFooter.java Package Name:com.kirin.common.util.pdf Date:2015年11月18日下午4:36:17 Copyright (c) 2015, PHXL All Rights Reserved.
3 */
4
5 package com.phxl.common.util;
6
7 import java.io.IOException;
8
9 import com.itextpdf.text.Document;
10 import com.itextpdf.text.DocumentException;
11 import com.itextpdf.text.Element;
12 import com.itextpdf.text.Font;
13 import com.itextpdf.text.Image;
14 import com.itextpdf.text.PageSize;
15 import com.itextpdf.text.Phrase;
16 import com.itextpdf.text.Rectangle;
17 import com.itextpdf.text.pdf.BaseFont;
18 import com.itextpdf.text.pdf.ColumnText;
19 import com.itextpdf.text.pdf.PdfContentByte;
20 import com.itextpdf.text.pdf.PdfPageEventHelper;
21 import com.itextpdf.text.pdf.PdfTemplate;
22 import com.itextpdf.text.pdf.PdfWriter;
23
24 /**
25 * ClassName:PdfReportHeaderFooter <br/>
26 * Function: TODO ADD FUNCTION. <br/>
27 * Reason: TODO ADD REASON. <br/>
28 * Date: 2015年11月18日 下午4:36:17 <br/>
29 *
30 * @author
31 * @version
32 * @since JDK 1.6
33 * @see
34 */
35 public class PdfReportHeaderFooter extends PdfPageEventHelper {
36
37 public String header = "";
38 public int presentFontSize = 12;
39 public Rectangle pageSize = PageSize.A4;
40 public PdfTemplate total;
41 public BaseFont bf = null;
42 public Font fontDetail = null;
43
44 public String waterMarkImgSrc = "";
45
46 public PdfReportHeaderFooter() {
47 }
48
49 public PdfReportHeaderFooter(String header, int presentFontSize, Rectangle pageSize) {
50 this.header = header;
51 this.presentFontSize = presentFontSize;
52 this.pageSize = pageSize;
53 }
54
55 public PdfReportHeaderFooter(String waterMarkImgSrc) {
56 this.waterMarkImgSrc = waterMarkImgSrc;
57 }
58
59 public void setHeader(String header) {
60 this.header = header;
61 }
62
63 public void setPresentFontSize(int presentFontSize) {
64 this.presentFontSize = presentFontSize;
65 }
66
67
68 public String getWaterMarkImgSrc() {
69 return waterMarkImgSrc;
70 }
71
72
73 public void setWaterMarkImgSrc(String waterMarkImgSrc) {
74 this.waterMarkImgSrc = waterMarkImgSrc;
75 }
76
77 public void onOpenDocument(PdfWriter writer, Document document) {
78 total = writer.getDirectContent().createTemplate(50, 50);
79 }
80
81 public void onEndPage(PdfWriter writer, Document document) {
82 try {
83 if (bf == null) {
84 bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
85 }
86 if (fontDetail == null) {
87 fontDetail = new Font(bf, presentFontSize, Font.NORMAL);// 数据体字体
88 }
89 } catch (DocumentException e) {
90 e.printStackTrace();
91 } catch (IOException e) {
92 e.printStackTrace();
93 }
94 // 1.写入页眉
95 ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase(header, fontDetail),
96 document.left(), document.top() + 20, 0);
97 // 2.写入前半部分的 第 X页/共
98 int pageS = writer.getPageNumber();
99 String foot1 = "第 " + pageS + " 页 /共";
100 Phrase footer = new Phrase(foot1, fontDetail);
101 // 3.计算前半部分的foot1的长度,后面好定位最后一部分的'Y页'这俩字的x轴坐标,字体长度也要计算进去 = len
102 float len = bf.getWidthPoint(foot1, presentFontSize);
103 // 4.拿到当前的PdfContentByte
104 PdfContentByte cb = writer.getDirectContent();
105 // 5.写入页脚1,x轴就是(右margin+左margin + right() -left()- len)/2.0F
106 // 再给偏移20F适合人类视觉感受,否则肉眼看上去就太偏左了
107 // ,y轴就是底边界-20,否则就贴边重叠到数据体里了就不是页脚了;注意Y轴是从下往上累加的,最上方的Top值是大于Bottom好几百开外的。
108 ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, footer,
109 (document.rightMargin() + document.right() + document.leftMargin() - document.left() - len) / 2.0F
110 + 20F,
111 document.bottom() - 20, 0);
112 // 6.写入页脚2的模板(就是页脚的Y页这俩字)添加到文档中,计算模板的和Y轴,X=(右边界-左边界 - 前半部分的len值)/2.0F +
113 // len , y 轴和之前的保持一致,底边界-20
114 cb.addTemplate(total,
115 (document.rightMargin() + document.right() + document.leftMargin() - document.left()) / 2.0F + 20F,
116 document.bottom() - 20);
117
118 if(!waterMarkImgSrc.equals("")){
119 //增加水印图片
120 PdfContentByte canvas = writer.getDirectContentUnder();
121 Image image;
122 try {
123 image = Image.getInstance(waterMarkImgSrc);
124 image.scaleAbsolute(PageSize.A4.rotate());
125 image.setAbsolutePosition(0, 0);
126 canvas.addImage(image);
127 } catch (Exception e) {
128 e.printStackTrace();
129 }
130 }
131 }
132
133 public void onCloseDocument(PdfWriter writer, Document document) {
134 total.beginText();
135 total.setFontAndSize(bf, presentFontSize);// 生成的模版的字体、颜色
136 String foot2 = " " + (writer.getPageNumber() - 1) + " 页";
137 total.showText(foot2);// 模版显示的内容
138 total.endText();
139 total.closePath();
140 }
141 }
1 package com.phxl.modules.goods.entity.billsettlement;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5
6 /**
7 * 医院结算单明细信息
8 */
9
10 public class BillSettlementDetail{
11 private String id;
12 private String settleBillNo; //结算单号
13 private int rowNo; //行号
14 private String goodsCode; //采购方_商品编码
15 private String goodsName; //采购方_商品名称
16 private String goodsSpec;
17 private String producerName;
18 private String goodsCate;
19 private BigDecimal settleQty; //采购方_结算数量
20 private String unit; //采购方_包装单位
21 private BigDecimal settlePrice; //结算价格
22 private BigDecimal settleAmount; //结算金额
23 private String registKey; //批准文号
24 private String lot;
25 private Date productionDate;
26 private Date expireDate;
27 private Date create_time;
28 private Date update_time;
29
30 public String getId() {
31 return id;
32 }
33 public void setId(String id) {
34 this.id = id;
35 }
36 public String getSettleBillNo() {
37 return settleBillNo;
38 }
39 public void setSettleBillNo(String settleBillNo) {
40 this.settleBillNo = settleBillNo;
41 }
42 public int getRowNo() {
43 return rowNo;
44 }
45 public void setRowNo(int rowNo) {
46 this.rowNo = rowNo;
47 }
48 public String getGoodsCode() {
49 return goodsCode;
50 }
51 public void setGoodsCode(String goodsCode) {
52 this.goodsCode = goodsCode;
53 }
54 public String getGoodsName() {
55 return goodsName;
56 }
57 public void setGoodsName(String goodsName) {
58 this.goodsName = goodsName;
59 }
60 public String getGoodsSpec() {
61 return goodsSpec;
62 }
63 public void setGoodsSpec(String goodsSpec) {
64 this.goodsSpec = goodsSpec;
65 }
66 public String getProducerName() {
67 return producerName;
68 }
69 public void setProducerName(String producerName) {
70 this.producerName = producerName;
71 }
72 public String getGoodsCate() {
73 return goodsCate;
74 }
75 public void setGoodsCate(String goodsCate) {
76 this.goodsCate = goodsCate;
77 }
78 public BigDecimal getSettleQty() {
79 return settleQty;
80 }
81 public void setSettleQty(BigDecimal settleQty) {
82 this.settleQty = settleQty;
83 }
84 public String getUnit() {
85 return unit;
86 }
87 public void setUnit(String unit) {
88 this.unit = unit;
89 }
90 public BigDecimal getSettlePrice() {
91 return settlePrice;
92 }
93 public void setSettlePrice(BigDecimal settlePrice) {
94 this.settlePrice = settlePrice;
95 }
96 public BigDecimal getSettleAmount() {
97 return settleAmount;
98 }
99 public void setSettleAmount(BigDecimal settleAmount) {
100 this.settleAmount = settleAmount;
101 }
102 public String getRegistKey() {
103 return registKey;
104 }
105 public void setRegistKey(String registKey) {
106 this.registKey = registKey;
107 }
108 public String getLot() {
109 return lot;
110 }
111 public void setLot(String lot) {
112 this.lot = lot;
113 }
114 public Date getProductionDate() {
115 return productionDate;
116 }
117 public void setProductionDate(Date productionDate) {
118 this.productionDate = productionDate;
119 }
120 public Date getExpireDate() {
121 return expireDate;
122 }
123 public void setExpireDate(Date expireDate) {
124 this.expireDate = expireDate;
125 }
126 public Date getCreate_time() {
127 return create_time;
128 }
129 public void setCreate_time(Date create_time) {
130 this.create_time = create_time;
131 }
132 public Date getUpdate_time() {
133 return update_time;
134 }
135 public void setUpdate_time(Date update_time) {
136 this.update_time = update_time;
137 }
138 }
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.medinstore.MedInStoreDetailDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.medinstore.MedInStoreDetail">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="bill_no" property="billNo" jdbcType="VARCHAR" />
10 <result column="row_no" property="rowNo" jdbcType="TINYINT" />
11 <result column="med_plan_row_no" property="medPlanRowNo" jdbcType="TINYINT" />
12 <result column="supplier_do_no" property="supplierDoNo" jdbcType="VARCHAR" />
13 <result column="supplier_do_row_no" property="supplierDoRowNo" jdbcType="TINYINT" />
14 <result column="goods_code" property="goodsCode" jdbcType="VARCHAR" />
15 <result column="goods_name" property="goodsName" jdbcType="VARCHAR" />
16 <result column="goods_spec" property="goodsSpec" jdbcType="VARCHAR" />
17 <result column="unit" property="unit" jdbcType="VARCHAR" />
18 <result column="manufacturer" property="manufacturer" jdbcType="VARCHAR" />
19 <result column="purchaser_price" property="purchaserPrice" jdbcType="DECIMAL" />
20 <result column="amount" property="amount" jdbcType="DECIMAL" />
21 <result column="lot" property="lot" jdbcType="VARCHAR" />
22 <result column="production_date" property="productionDate" jdbcType="TIMESTAMP" />
23 <result column="expire_date" property="expireDate" jdbcType="TIMESTAMP" />
24 <result column="arrivalqty" property="arrivalqty" jdbcType="DECIMAL" />
25 <result column="mvqty" property="mvqty" jdbcType="DECIMAL" />
26 <result column="memo" property="memo" jdbcType="VARCHAR" />
27 </resultMap>
28
29 <!--Base_Column_List -->
30 <sql id="Base_Column_List">id,bill_no,row_no,med_plan_row_no,supplier_do_no,supplier_do_row_no,goods_code,goods_name,goods_spec,unit,manufacturer,purchaser_price,amount,lot,production_date,expire_date,arrivalqty,mvqty,memo</sql>
31
32 <!--批量插入MedInStoreDetail -->
33 <insert id="batchInsert" parameterType="list">
34 insert into med_hli_in_store_detail (id,bill_no,row_no,med_plan_row_no,supplier_do_no,supplier_do_row_no,goods_code,goods_name,goods_spec,unit,manufacturer,purchaser_price,amount,lot,production_date,expire_date,arrivalqty,mvqty,memo)
35 values
36 <foreach collection ="list" item="obj" separator =",">
37 <trim prefix=" (" suffix=")" suffixOverrides=",">
38 #{obj.id},
39 #{obj.billNo},
40 #{obj.rowNo},
41 #{obj.medPlanRowNo},
42 #{obj.supplierDoNo},
43 #{obj.supplierDoRowNo},
44 #{obj.goodsCode},
45 #{obj.goodsName},
46 #{obj.goodsSpec},
47 #{obj.unit},
48 #{obj.manufacturer},
49 #{obj.purchaserPrice},
50 #{obj.amount},
51 #{obj.lot},
52 #{obj.productionDate},
53 #{obj.expireDate},
54 #{obj.arrivalqty},
55 #{obj.mvqty},
56 #{obj.memo}
57 </trim>
58 </foreach>
59 </insert>
60
61
62 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.dao.suoutstore;
2
3 import java.util.List;
4
5 import com.phxl.modules.goods.entity.suoutstore.SuOutStoreDetail;
6
7 public interface SuOutStoreDetailDao {
8
9 void batchInsert(List<SuOutStoreDetail> details);
10
11 }
1 package com.phxl.modules.goods.entity.medplan;
2
3 import java.util.Date;
4 import java.util.List;
5
6 /**
7 * 补货计划
8 */
9 public class MedPlan{
10
11 public List<MedPlanDetail> getTrmedplandetails() {
12 return trmedplandetails;
13 }
14 public void setTrmedplandetails(List<MedPlanDetail> trmedplandetails) {
15 this.trmedplandetails = trmedplandetails;
16 }
17 private String medCode; //医疗机构代码
18 private String medName; //医疗机构名称
19 private String supplierCode; //平台供应商代码
20 private String suppliername; //平台供应商名称
21 private String billNo; //单据编号
22 private String billType; //单据类型
23 private String settleType; //结算方式(0:零库存 1:非零库存)
24 private String medDeptCode; //订货科室编码
25 private String medDeptName; //订货科室名称
26 private String medStoreCode; //订货库房编码
27 private String medStoreName; //订货库房名称
28 private String firstFlag; //是否优先
29 private Date planBeginDate; //订货日期
30 private Date planEndDate; //要求到货日期
31 private String memo; //备注
32 private String operaterName; //操作人员姓名
33 private Date inputDate; //制单日期
34 private Date create_time; //创建时间
35 private Date update_time; //更新时间
36 private List<MedPlanDetail> trmedplandetails;
37
38 private String id;
39
40 public String getId() {
41 return id;
42 }
43 public void setId(String id) {
44 this.id = id;
45 }
46
47 public String getMedCode() {
48 return medCode;
49 }
50 public void setMedCode(String medCode) {
51 this.medCode = medCode;
52 }
53 public String getMedName() {
54 return medName;
55 }
56 public void setMedName(String medName) {
57 this.medName = medName;
58 }
59 public String getSupplierCode() {
60 return supplierCode;
61 }
62 public void setSupplierCode(String supplierCode) {
63 this.supplierCode = supplierCode;
64 }
65 public String getSuppliername() {
66 return suppliername;
67 }
68 public void setSuppliername(String suppliername) {
69 this.suppliername = suppliername;
70 }
71 public String getBillNo() {
72 return billNo;
73 }
74 public void setBillNo(String billNo) {
75 this.billNo = billNo;
76 }
77 public String getBillType() {
78 return billType;
79 }
80 public void setBillType(String billType) {
81 this.billType = billType;
82 }
83 public String getMedDeptCode() {
84 return medDeptCode;
85 }
86 public void setMedDeptCode(String medDeptCode) {
87 this.medDeptCode = medDeptCode;
88 }
89 public String getMedDeptName() {
90 return medDeptName;
91 }
92 public void setMedDeptName(String medDeptName) {
93 this.medDeptName = medDeptName;
94 }
95 public String getMedStoreCode() {
96 return medStoreCode;
97 }
98 public void setMedStoreCode(String medStoreCode) {
99 this.medStoreCode = medStoreCode;
100 }
101 public String getMedStoreName() {
102 return medStoreName;
103 }
104 public void setMedStoreName(String medStoreName) {
105 this.medStoreName = medStoreName;
106 }
107 public String getFirstFlag() {
108 return firstFlag;
109 }
110 public void setFirstFlag(String firstFlag) {
111 this.firstFlag = firstFlag;
112 }
113 public Date getPlanBeginDate() {
114 return planBeginDate;
115 }
116 public void setPlanBeginDate(Date planBeginDate) {
117 this.planBeginDate = planBeginDate;
118 }
119 public Date getPlanEndDate() {
120 return planEndDate;
121 }
122 public void setPlanEndDate(Date planEndDate) {
123 this.planEndDate = planEndDate;
124 }
125 public String getMemo() {
126 return memo;
127 }
128 public void setMemo(String memo) {
129 this.memo = memo;
130 }
131 public String getOperaterName() {
132 return operaterName;
133 }
134 public void setOperaterName(String operaterName) {
135 this.operaterName = operaterName;
136 }
137 public Date getInputDate() {
138 return inputDate;
139 }
140 public void setInputDate(Date inputDate) {
141 this.inputDate = inputDate;
142 }
143 public Date getCreate_time() {
144 return create_time;
145 }
146 public void setCreate_time(Date create_time) {
147 this.create_time = create_time;
148 }
149 public Date getUpdate_time() {
150 return update_time;
151 }
152 public void setUpdate_time(Date update_time) {
153 this.update_time = update_time;
154 }
155
156 public String getSettleType() {
157 return settleType;
158 }
159
160 public void setSettleType(String settleType) {
161 this.settleType = settleType;
162 }
163 }
1 eclipse.preferences.version=1
2 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4 org.eclipse.jdt.core.compiler.compliance=1.6
5 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
8 org.eclipse.jdt.core.compiler.source=1.6
1 package com.phxl.modules.goods.service.medinstore;
2
3 import java.math.BigDecimal;
4 import java.util.List;
5
6 import org.apache.commons.lang3.StringUtils;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.stereotype.Service;
11
12 import com.phxl.common.utils.BaseException;
13 import com.phxl.common.utils.IdUtil;
14 import com.phxl.modules.goods.dao.medinstore.MedInStoreDao;
15 import com.phxl.modules.goods.dao.medinstore.MedInStoreDetailDao;
16 import com.phxl.modules.goods.entity.medinstore.MedInStore;
17 import com.phxl.modules.goods.entity.medinstore.MedInStoreDetail;
18 import com.phxl.modules.goods.entity.medinstore.MedInStoreWithDetail;
19
20 @Service
21 public class MedInStoreService {
22 @Autowired
23 private MedInStoreDao inStoreDao;
24
25 @Autowired
26 private MedInStoreDetailDao inStoreDetailDao;
27
28 /**
29 * 日志对象
30 */
31 protected Logger logger = LoggerFactory.getLogger(getClass());
32
33
34 private void checkMedInStore(List<MedInStoreWithDetail> instores) {
35 if(instores == null || instores.size() == 0){
36 logger.error("无相应入库单单据信息");
37 throw new BaseException("无相应入库单单据信息");
38 }
39 for (MedInStoreWithDetail medinstore : instores) {
40 String medCode = medinstore.getBill().getMedGuid();
41 String medName = medinstore.getBill().getMedName();
42 if (StringUtils.isEmpty(medCode) || StringUtils.isEmpty(medName)) {
43 logger.error("入库单医疗机构编码以及医疗机构名称不能为空");
44 throw new BaseException("入库单医疗机构编码以及医疗机构名称不能为空");
45 }
46 String supplierCode = medinstore.getBill().getSupplierGuid();
47 String suppliername = medinstore.getBill().getSupplierName();
48 if (StringUtils.isEmpty(supplierCode) || StringUtils.isEmpty(suppliername)) {
49 logger.error("入库单平台供应商代码以及平台供应商名称不能为空");
50 throw new BaseException("入库单平台供应商代码以及平台供应商名称不能为空");
51 }
52 String billNo = medinstore.getBill().getBillNo();
53 if (StringUtils.isEmpty(billNo)) {
54 logger.error("入库单单据编号不能为空");
55 throw new BaseException("入库单单据编号不能为空");
56 }
57 String billType = medinstore.getBill().getBillType();
58 if (StringUtils.isEmpty(billType)) {
59 logger.error("入库单单据类型不能为空");
60 throw new BaseException("入库单单据类型不能为空");
61 }
62 List<MedInStoreDetail> details = medinstore.getBill().getBilldetaillist();
63 if(details == null || details.size() == 0){
64 logger.error("入库单单据编号:"+billNo+"入库明细不能为空");
65 throw new BaseException("入库单单据编号:"+billNo+"入库明细不能为空");
66 }
67 for (MedInStoreDetail medInStoreDetail : details) {
68 String detailBillNo = medInStoreDetail.getBillNo();
69 if (StringUtils.isEmpty(detailBillNo)) {
70 logger.error("入库单单据编号:"+billNo+"入库明细单据编号不能为空");
71 throw new BaseException("入库单单据编号:"+billNo+"入库明细单据编号不能为空");
72 }
73 String goodsCode = medInStoreDetail.getGoodsCode();
74 String goodsName = medInStoreDetail.getGoodsName();
75 if (StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)) {
76 logger.error("入库单单据编号:"+billNo+"入库明细商品编码以及商品名称不能为空");
77 throw new BaseException("入库单单据编号:"+billNo+"入库明细商品编码以及商品名称不能为空");
78 }
79 BigDecimal mvQty = medInStoreDetail.getMvqty();
80 if (mvQty == null) {
81 logger.error("入库单单据编号:"+billNo+"入库明细商品入库实收数不能为空");
82 throw new BaseException("入库单单据编号:"+billNo+"入库明细商品入库实收数不能为空");
83 }
84 BigDecimal arrivalQty = medInStoreDetail.getArrivalqty();
85 if (arrivalQty == null) {
86 logger.error("入库单单据编号:"+billNo+"入库明细商品出库数量不能为空");
87 throw new BaseException("补货计划单据编号:"+billNo+"入库明细商品出库数量不能为空");
88 }
89 BigDecimal amount = medInStoreDetail.getAmount();
90 if (amount == null) {
91 logger.error("入库单单据编号:"+billNo+"入库明细商品金额不能为空");
92 throw new BaseException("入库单单据编号:"+billNo+"入库明细商品金额不能为空");
93 }
94 String unit = medInStoreDetail.getUnit();
95 if (StringUtils.isEmpty(unit)) {
96 logger.error("入库单单据编号:"+billNo+"入库明细商品单位不能为空");
97 throw new BaseException("入库单单据编号:"+billNo+"入库明细商品单位不能为空");
98 }
99 BigDecimal purchaserPrice = medInStoreDetail.getPurchaserPrice();
100 if (purchaserPrice == null) {
101 logger.error("入库单单据编号:"+billNo+"入库明细商品采购价格不能为空");
102 throw new BaseException("入库单单据编号:"+billNo+"入库明细商品采购价格不能为空");
103 }
104 String medPlanRowNo = medInStoreDetail.getMedPlanRowNo();
105 if (StringUtils.isEmpty(medPlanRowNo)) {
106 logger.error("入库单单据编号:"+billNo+"入库明细补货计划单据原行号不能为空");
107 throw new BaseException("入库单单据编号:"+billNo+"入库明细补货计划单据原行号不能为空");
108 }
109 String supplierDoNo = medInStoreDetail.getSupplierDoNo();
110 if (StringUtils.isEmpty(supplierDoNo)) {
111 logger.error("入库单单据编号:"+billNo+"入库明细供应商出库单号不能为空");
112 throw new BaseException("入库单单据编号:"+billNo+"入库明细供应商出库单号不能为空");
113 }
114 String supplierDoRowNo = medInStoreDetail.getSupplierDoRowNo();
115 if (StringUtils.isEmpty(supplierDoRowNo)) {
116 logger.error("入库单单据编号:"+billNo+"入库明细供应商出库单行号不能为空");
117 throw new BaseException("入库单单据编号:"+billNo+"入库明细供应商出库单行号不能为空");
118 }
119 }
120 }
121
122
123 }
124
125
126 public boolean batchSave(List<MedInStoreWithDetail> instores) {
127
128 boolean result = true;
129 try {
130 checkMedInStore(instores);
131 } catch (Exception e) {
132 throw new BaseException(e.getMessage());
133 }
134 for (MedInStoreWithDetail medInStoreWithDetail : instores) {
135 MedInStore medinstore = medInStoreWithDetail.getBill();
136 List<MedInStoreDetail> details = medinstore.getBilldetaillist();
137 String id = IdUtil.uuid();
138 medInStoreWithDetail.getBill().setId(id);
139 if(details != null && details.size() != 0){
140 for (MedInStoreDetail medinstoredetail : details) {
141 medinstoredetail.setBillNo(medInStoreWithDetail.getBill().getBillNo());
142 medinstoredetail.setId(id);
143 }
144 inStoreDao.insert(medinstore);
145 inStoreDetailDao.batchInsert(details);
146 }
147 }
148 return result;
149 }
150
151
152
153 }
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.medplan.MedPlanDetailDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.medplan.MedPlanDetail">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="bill_no" property="billNo" jdbcType="VARCHAR" />
10 <result column="row_no" property="rowNo" jdbcType="TINYINT" />
11 <result column="goods_code" property="goodsCode" jdbcType="VARCHAR" />
12 <result column="goods_name" property="goodsName" jdbcType="VARCHAR" />
13 <result column="goods_spec" property="goodsSpec" jdbcType="VARCHAR" />
14 <result column="manufacturer" property="manufacturer" jdbcType="VARCHAR" />
15 <result column="po_qty" property="poQty" jdbcType="DECIMAL" />
16 <result column="unit" property="unit" jdbcType="VARCHAR" />
17 <result column="taxprice" property="taxprice" jdbcType="DECIMAL" />
18 <result column="taxsum" property="taxsum" jdbcType="DECIMAL" />
19 </resultMap>
20
21 <!--Base_Column_List -->
22 <sql id="Base_Column_List">id,bill_no,row_no,goods_code,goods_name,goods_spec,manufacturer,po_qty,unit,taxprice,taxsum</sql>
23
24 <!--批量插入MedPlanDetail -->
25 <insert id="batchInsert" parameterType="list">
26 insert into med_hli_plan_detail (id,bill_no,row_no,goods_code,goods_name,goods_spec,manufacturer,po_qty,unit,taxprice,taxsum)
27 values
28 <foreach collection ="list" item="obj" separator =",">
29 <trim prefix=" (" suffix=")" suffixOverrides=",">
30 #{obj.id},
31 #{obj.billNo},
32 #{obj.rowNo},
33 #{obj.goodsCode},
34 #{obj.goodsName},
35 #{obj.goodsSpec},
36 #{obj.manufacturer},
37 #{obj.poQty},
38 #{obj.unit},
39 #{obj.taxprice},
40 #{obj.taxsum}
41 </trim>
42 </foreach>
43 </insert>
44
45
46 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.service.supplygoods;
2
3 import java.math.BigDecimal;
4 import java.util.List;
5
6 import org.apache.commons.lang3.StringUtils;
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.apache.xmlbeans.impl.xb.xsdschema.Public;
10 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.stereotype.Service;
12 import org.springframework.transaction.annotation.Transactional;
13
14 import com.phxl.common.util.JsonMapper;
15 import com.phxl.common.utils.BaseException;
16 import com.phxl.common.utils.IdUtil;
17 import com.phxl.modules.goods.dao.supplygoods.MedSupplyGoodsDao;
18 import com.phxl.modules.goods.entity.supplygoods.MedSupplyGoods;
19
20 @Service
21 public class MedSupplyGoodsService{
22
23
24 @Autowired
25 private MedSupplyGoodsDao medSupplyGoodsDao;
26
27 private static Log log = LogFactory.getLog(MedSupplyGoodsService.class);
28
29
30 @Transactional
31 public boolean batchSave(List<MedSupplyGoods> supplyGoods) {
32 boolean result = false;
33 if(supplyGoods != null && supplyGoods.size() != 0){
34 for (MedSupplyGoods medSupplyGoods : supplyGoods) {
35 try {
36 checkGoods(medSupplyGoods);
37 } catch (Exception e) {
38 String json = JsonMapper.toJsonString(medSupplyGoods);
39 log.error("采购目录:"+json+"信息异常");
40 throw new BaseException(e.getMessage());
41 }
42 medSupplyGoods.setId(IdUtil.uuid());
43 }
44 medSupplyGoodsDao.batchInsert(supplyGoods);
45 result = true;
46 }
47 return result;
48 }
49
50 /**
51 * 采购目录信息校验
52 * @param medSupplyGoods
53 */
54 private void checkGoods(MedSupplyGoods medSupplyGoods) {
55 //获取采购目录供应商信息
56 String medSuppliercode = medSupplyGoods.getMedSuppliercode();
57 String medSuppliername = medSupplyGoods.getMedSuppliername();
58 if(StringUtils.isEmpty(medSuppliercode) || StringUtils.isEmpty(medSuppliername)){
59 log.error("采购目录信息供应商编号以及供应商名称不能为空");
60 throw new BaseException("采购目录信息供应商编号以及供应商名称不能为空");
61 }
62 //获取采购目录商品信息
63 String goodsCode = medSupplyGoods.getGoodsCode();
64 String goodsName = medSupplyGoods.getGoodsName();
65 if(StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)){
66 log.error("采购目录信息商品编号以及商品名称不能为空");
67 throw new BaseException("采购目录信息商品编号以及商品名称不能为空");
68 }
69 //对应商品规格
70 String goodsSpec = medSupplyGoods.getGoodsSpec();
71 if(StringUtils.isEmpty(goodsSpec)){
72 log.error("采购目录信息商品规格以及商品名称不能为空");
73 throw new BaseException("采购目录信息商品规格以及商品名称不能为空");
74 }
75 BigDecimal price = medSupplyGoods.getPrice();
76 if (price == null) {
77 log.error("采购目录信息采购价不能为空");
78 throw new BaseException("采购目录信息采购价不能为空");
79 }
80 }
81
82
83 }
1 package com.phxl.modules.goods.service.ctcareprov;
2
3 import org.apache.commons.collections.CollectionUtils;
4 import org.apache.commons.lang3.StringUtils;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.stereotype.Service;
9
10 import com.phxl.common.utils.BaseException;
11 import com.phxl.common.utils.IdUtil;
12 import com.phxl.modules.goods.dao.ctcareprov.CTCareProvDao;
13 import com.phxl.modules.goods.entity.ctcareprov.CTCareProv;
14
15 import java.util.*;
16
17 @Service
18 public class CTCareProvService{
19
20 @Autowired
21 private CTCareProvDao cTCareProvDao;
22
23 /**
24 * 日志对象
25 */
26 protected Logger logger = LoggerFactory.getLogger(getClass());
27
28 public boolean batchSaveOrUpdate(List<CTCareProv> careProvs) {
29 boolean success = false;
30 try {
31 checkCTCareProv(careProvs);
32 } catch (Exception e) {
33 throw new BaseException(e.getMessage());
34 }
35 if (CollectionUtils.isNotEmpty(careProvs)) {
36 List<String> codes = new ArrayList<String>();
37 for (CTCareProv ctCareProv : careProvs) {
38 String ryCode = ctCareProv.getMfmedStaffCode();
39 codes.add(ryCode);
40 }
41 Map<String,Object> map = new HashMap<String, Object>();
42 map.put("ryCodes",codes);
43 List<CTCareProv> exsitList = cTCareProvDao.batchSelect(map);
44 List<CTCareProv> insertList = new ArrayList<CTCareProv>();
45 List<CTCareProv> updateList = new ArrayList<CTCareProv>();
46 for (CTCareProv ctCareProv : careProvs) {
47 boolean flag = false;
48 for (CTCareProv exsitCtCareProv : exsitList) {
49 if (ctCareProv.getMfmedStaffCode().equals(exsitCtCareProv.getMfmedStaffCode())) {
50 ctCareProv.setId(exsitCtCareProv.getId());
51 flag = true;
52 }
53 }
54 if (!flag) {
55 ctCareProv.setId(IdUtil.uuid());
56 insertList.add(ctCareProv);
57 }else{
58 updateList.add(ctCareProv);
59 }
60 }
61 if(CollectionUtils.isNotEmpty(updateList)){
62 cTCareProvDao.batchUpdate(updateList);
63 }
64 if(CollectionUtils.isNotEmpty(insertList)){
65 cTCareProvDao.batchInsert(insertList);
66 }
67 success = true;
68 }
69 return success;
70 }
71
72 private void checkCTCareProv(List<CTCareProv> careProvs) {
73 if(careProvs == null || careProvs.size() == 0){
74 logger.error("无相应人员资料信息");
75 throw new BaseException("无相应人员资料信息");
76 }
77 for (CTCareProv ctCareProv : careProvs) {
78 String mfmedStaffCode = ctCareProv.getMfmedStaffCode();
79 if (StringUtils.isEmpty(mfmedStaffCode)) {
80 logger.error("人员资料人员代码不能为空");
81 throw new BaseException("人员资料人员代码不能为空");
82 }
83 String logonUser = ctCareProv.getLogonUser();
84 if (StringUtils.isEmpty(logonUser)) {
85 logger.error("人员资料登陆账号不能为空");
86 throw new BaseException("人员资料登陆账号不能为空");
87 }
88 String realName = ctCareProv.getRealName();
89 if (StringUtils.isEmpty(realName)) {
90 logger.error("人员资料真实账号不能为空");
91 throw new BaseException("人员资料真实账号不能为空");
92 }
93 }
94 }
95
96
97
98 }
1 jdbc.type=mysql
2 jdbc.driver=com.mysql.jdbc.Driver
3 jdbc.url=jdbc:mysql://114.115.184.70:3306/medicinal-supplier?useUnicode=true&characterEncoding=utf-8
4 jdbc.username=root
5 jdbc.password=Puhua888@com
6
7
8 spd_service_url = http://localhost:8080/medicinal-web/a/spdrecvsupplier/
9
10
11
12
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html lang="en">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5 <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport" />
6 <title>微信绑定页面</title>
7 </head>
8 <body>
9 <div style="width: 240px;">
10 <div style="height: 240px;width: 240px;">
11 ${qrImage}
12 </div>
13 </div>
14
15 </body>
16 </html>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.suoutstore.SuOutStoreDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.suoutstore.SuOutStore">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="bill_no" property="billNo" jdbcType="VARCHAR" />
10 <result column="med_guid" property="medGuid" jdbcType="VARCHAR" />
11 <result column="med_name" property="medName" jdbcType="VARCHAR" />
12 <result column="med_dept_guid" property="medDeptGuid" jdbcType="VARCHAR" />
13 <result column="med_dept_name" property="medDeptName" jdbcType="VARCHAR" />
14 <result column="med_store_guid" property="medStoreGuid" jdbcType="VARCHAR" />
15 <result column="med_store_name" property="medStoreName" jdbcType="VARCHAR" />
16 <result column="supplier_guid" property="supplierGuid" jdbcType="VARCHAR" />
17 <result column="supplier_name" property="supplierName" jdbcType="VARCHAR" />
18 <result column="bill_date" property="billDate" jdbcType="TIMESTAMP" />
19 <result column="count_sum" property="countSum" jdbcType="TINYINT" />
20 <result column="detail_sum" property="detailSum" jdbcType="DECIMAL" />
21 <result column="operater_name" property="operaterName" jdbcType="VARCHAR" />
22 <result column="input_date" property="inputDate" jdbcType="TIMESTAMP" />
23 <result column="memo" property="memo" jdbcType="VARCHAR" />
24 <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
25 <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
26 </resultMap>
27
28 <!--Base_Column_List -->
29 <sql id="Base_Column_List">id,bill_no,med_guid,med_name,med_dept_guid,med_dept_name,med_store_guid,med_store_name,supplier_guid,supplier_name,bill_date,count_sum,detail_sum,operater_name,input_date,memo,create_time,update_time</sql>
30
31 <!-- 新增MedPlan-->
32 <insert id="insert" parameterType="com.phxl.modules.goods.entity.suoutstore.SuOutStore">
33 insert into med_supplier_out_store (id,bill_no,med_guid,med_name,med_dept_guid,med_dept_name,med_store_guid,med_store_name,supplier_guid,supplier_name,bill_date,count_sum,detail_sum,operater_name,input_date,memo,create_time,update_time)
34 values (
35 #{id,jdbcType=VARCHAR}
36 ,#{billNo,jdbcType=VARCHAR}
37 ,#{medGuid,jdbcType=VARCHAR}
38 ,#{medName,jdbcType=VARCHAR}
39 ,#{medDeptGuid,jdbcType=VARCHAR}
40 ,#{medDeptName,jdbcType=VARCHAR}
41 ,#{medStoreGuid,jdbcType=VARCHAR}
42 ,#{medStoreName,jdbcType=VARCHAR}
43 ,#{supplierGuid,jdbcType=VARCHAR}
44 ,#{supplierName,jdbcType=VARCHAR}
45 ,#{billDate,jdbcType=TIMESTAMP}
46 ,#{countSum,jdbcType=TINYINT}
47 ,#{detailSum,jdbcType=DECIMAL}
48 ,#{operaterName,jdbcType=VARCHAR}
49 ,#{inputDate,jdbcType=TIMESTAMP}
50 ,#{memo,jdbcType=VARCHAR}
51 ,#{createTime,jdbcType=TIMESTAMP}
52 ,#{updateTime,jdbcType=TIMESTAMP}
53 )
54 </insert>
55
56 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?>
2 <classpath>
3 <classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
4 <attributes>
5 <attribute name="optional" value="true"/>
6 <attribute name="maven.pomderived" value="true"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
10 <attributes>
11 <attribute name="maven.pomderived" value="true"/>
12 </attributes>
13 </classpathentry>
14 <classpathentry kind="src" output="target/test-classes" path="src/test/java">
15 <attributes>
16 <attribute name="optional" value="true"/>
17 <attribute name="maven.pomderived" value="true"/>
18 </attributes>
19 </classpathentry>
20 <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
21 <attributes>
22 <attribute name="maven.pomderived" value="true"/>
23 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
24 </attributes>
25 </classpathentry>
26 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
27 <attributes>
28 <attribute name="maven.pomderived" value="true"/>
29 </attributes>
30 </classpathentry>
31 <classpathentry kind="output" path="target/classes"/>
32 </classpath>
1 package com.phxl.modules.goods.dao.hisCtMedicineMaterial;
2
3 import java.util.List;
4
5 import com.phxl.modules.goods.entity.hisCtMedicineMaterial.HisCtMedicineMaterial;
6
7 /**
8 *
9 * @ClassName: HisCtMedicineMaterialDao
10 * @Description: HisCtMedicineMaterial数据访问接口
11 * @author hehaihong
12 * @date 2018-08-06 14:44:26
13 *
14 */
15 public interface HisCtMedicineMaterialDao {
16
17
18 List<HisCtMedicineMaterial> findLists(HisCtMedicineMaterial material);
19
20 HisCtMedicineMaterial getMedicine(HisCtMedicineMaterial material);
21
22 HisCtMedicineMaterial get(HisCtMedicineMaterial materials);
23
24 void update(HisCtMedicineMaterial materials);
25
26 void insert(HisCtMedicineMaterial materials);
27
28 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.entity.suoutstore;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5 import java.util.List;
6
7 import com.fasterxml.jackson.annotation.JsonFormat;
8
9 /**
10 * 供应商出库单信息
11 */
12
13 public class SuOutStore{
14
15 private String billNo; //单据编号
16 private String medGuid; //医疗机构代码
17 private String medName; //医疗机构名称
18 private String medDeptGuid; //订货科室编码
19 private String medDeptName; //订货科室名称
20 private String medStoreGuid; //订货库房编码
21 private String medStoreName; //订货库房名称
22 private String supplierGuid; //供应商编码
23 private String supplierName; //供应商名称
24 private Date billDate; //出库日期
25 private int countSum; //明细条数
26 private BigDecimal detailSum; //明细金额
27 private String operaterName; //出库人员姓名
28 private Date inputDate; //制单日期
29 private String memo; //备注
30 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
31 private Date createTime; //创建时间
32 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
33 private Date updateTime; //更新时间
34
35
36 private List<SuOutStoreDetail> billdetaillist; //出库单明细
37
38 private String id;
39
40 public String getBillNo() {
41 return billNo;
42 }
43
44 public void setBillNo(String billNo) {
45 this.billNo = billNo;
46 }
47
48 public String getMedGuid() {
49 return medGuid;
50 }
51
52 public void setMedGuid(String medGuid) {
53 this.medGuid = medGuid;
54 }
55
56 public String getMedName() {
57 return medName;
58 }
59
60 public void setMedName(String medName) {
61 this.medName = medName;
62 }
63
64 public String getMedDeptGuid() {
65 return medDeptGuid;
66 }
67
68 public void setMedDeptGuid(String medDeptGuid) {
69 this.medDeptGuid = medDeptGuid;
70 }
71
72 public String getMedDeptName() {
73 return medDeptName;
74 }
75
76 public void setMedDeptName(String medDeptName) {
77 this.medDeptName = medDeptName;
78 }
79
80 public String getMedStoreGuid() {
81 return medStoreGuid;
82 }
83
84 public void setMedStoreGuid(String medStoreGuid) {
85 this.medStoreGuid = medStoreGuid;
86 }
87
88 public String getMedStoreName() {
89 return medStoreName;
90 }
91
92 public void setMedStoreName(String medStoreName) {
93 this.medStoreName = medStoreName;
94 }
95
96 public String getSupplierGuid() {
97 return supplierGuid;
98 }
99
100 public void setSupplierGuid(String supplierGuid) {
101 this.supplierGuid = supplierGuid;
102 }
103
104 public String getSupplierName() {
105 return supplierName;
106 }
107
108 public void setSupplierName(String supplierName) {
109 this.supplierName = supplierName;
110 }
111
112 public Date getBillDate() {
113 return billDate;
114 }
115
116 public void setBillDate(Date billDate) {
117 this.billDate = billDate;
118 }
119
120 public int getCountSum() {
121 return countSum;
122 }
123
124 public void setCountSum(int countSum) {
125 this.countSum = countSum;
126 }
127
128 public BigDecimal getDetailSum() {
129 return detailSum;
130 }
131
132 public void setDetailSum(BigDecimal detailSum) {
133 this.detailSum = detailSum;
134 }
135
136 public String getOperaterName() {
137 return operaterName;
138 }
139
140 public void setOperaterName(String operaterName) {
141 this.operaterName = operaterName;
142 }
143
144 public Date getInputDate() {
145 return inputDate;
146 }
147
148 public void setInputDate(Date inputDate) {
149 this.inputDate = inputDate;
150 }
151
152 public String getMemo() {
153 return memo;
154 }
155
156 public void setMemo(String memo) {
157 this.memo = memo;
158 }
159
160 public Date getCreateTime() {
161 return createTime;
162 }
163
164 public void setCreateTime(Date createTime) {
165 this.createTime = createTime;
166 }
167
168 public Date getUpdateTime() {
169 return updateTime;
170 }
171
172 public void setUpdateTime(Date updateTime) {
173 this.updateTime = updateTime;
174 }
175
176 public List<SuOutStoreDetail> getBilldetaillist() {
177 return billdetaillist;
178 }
179
180 public void setBilldetaillist(List<SuOutStoreDetail> billdetaillist) {
181 this.billdetaillist = billdetaillist;
182 }
183
184 public String getId() {
185 return id;
186 }
187
188 public void setId(String id) {
189 this.id = id;
190 }
191
192
193 }
1 package com.phxl.modules.goods.entity.billback;
2
3 import com.alibaba.fastjson.annotation.JSONField;
4
5 import java.math.BigDecimal;
6 import java.util.Date;
7
8 /**
9 * 医院退货单明细信息
10 */
11
12 public class BillBackDetail{
13
14 @JSONField(name = "BillNo")
15 private String billNo; //单据编号
16
17 @JSONField(name = "RowNo")
18 private int rowNo; //行号
19
20 @JSONField(name = "MedMVBillNo")
21 private String medMVBillNo; //入库单据编号
22
23 @JSONField(name = "MedMVRowNo")
24 private int medMVRowNo; //入库单据原行号
25
26 @JSONField(name = "GoodsCode")
27 private String goodsCode; //商品编码
28
29 @JSONField(name = "GoodsName")
30 private String goodsName; //商品名称
31
32 @JSONField(name = "GoodsSpec")
33 private String goodsSpec; //商品规格
34
35 @JSONField(name = "Returns_Unit")
36 private String returns_Unit; //包装单位
37
38 @JSONField(name = "Returns_Price")
39 private BigDecimal returns_Price; //退货价格
40
41 @JSONField(name = "Manufacturer")
42 private String manufacturer; //生产厂商
43
44 @JSONField(name = "RpiQty")
45 private BigDecimal rpiQty; //退货数量
46
47 @JSONField(name = "Amount")
48 private BigDecimal amount; //金额
49
50 @JSONField(name = "Lot")
51 private String lot; //批号
52
53 @JSONField(name = "ProductionDate")
54 private Date productionDate; //生产日期
55
56 @JSONField(name = "ExpireDate")
57 private Date expireDate; //有效期至
58
59 @JSONField(name = "Memo")
60 private String memo; //备注
61
62 private String id;
63
64 public String getId() {
65 return id;
66 }
67 public void setId(String id) {
68 this.id = id;
69 }
70
71 public String getBillNo() {
72 return billNo;
73 }
74 public void setBillNo(String billNo) {
75 this.billNo = billNo;
76 }
77 public int getRowNo() {
78 return rowNo;
79 }
80 public void setRowNo(int rowNo) {
81 this.rowNo = rowNo;
82 }
83 public String getMedMVBillNo() {
84 return medMVBillNo;
85 }
86 public void setMedMVBillNo(String medMVBillNo) {
87 this.medMVBillNo = medMVBillNo;
88 }
89 public int getMedMVRowNo() {
90 return medMVRowNo;
91 }
92 public void setMedMVRowNo(int medMVRowNo) {
93 this.medMVRowNo = medMVRowNo;
94 }
95 public String getGoodsCode() {
96 return goodsCode;
97 }
98 public void setGoodsCode(String goodsCode) {
99 this.goodsCode = goodsCode;
100 }
101 public String getGoodsName() {
102 return goodsName;
103 }
104 public void setGoodsName(String goodsName) {
105 this.goodsName = goodsName;
106 }
107 public String getGoodsSpec() {
108 return goodsSpec;
109 }
110 public void setGoodsSpec(String goodsSpec) {
111 this.goodsSpec = goodsSpec;
112 }
113 public String getReturns_Unit() {
114 return returns_Unit;
115 }
116 public void setReturns_Unit(String returns_Unit) {
117 this.returns_Unit = returns_Unit;
118 }
119 public BigDecimal getReturns_Price() {
120 return returns_Price;
121 }
122 public void setReturns_Price(BigDecimal returns_Price) {
123 this.returns_Price = returns_Price;
124 }
125 public String getManufacturer() {
126 return manufacturer;
127 }
128 public void setManufacturer(String manufacturer) {
129 this.manufacturer = manufacturer;
130 }
131 public BigDecimal getRpiQty() {
132 return rpiQty;
133 }
134 public void setRpiQty(BigDecimal rpiQty) {
135 this.rpiQty = rpiQty;
136 }
137 public BigDecimal getAmount() {
138 return amount;
139 }
140 public void setAmount(BigDecimal amount) {
141 this.amount = amount;
142 }
143 public String getLot() {
144 return lot;
145 }
146 public void setLot(String lot) {
147 this.lot = lot;
148 }
149 public Date getProductionDate() {
150 return productionDate;
151 }
152 public void setProductionDate(Date productionDate) {
153 this.productionDate = productionDate;
154 }
155 public Date getExpireDate() {
156 return expireDate;
157 }
158 public void setExpireDate(Date expireDate) {
159 this.expireDate = expireDate;
160 }
161 public String getMemo() {
162 return memo;
163 }
164 public void setMemo(String memo) {
165 this.memo = memo;
166 }
167
168 }
1 package com.phxl.modules.goods.service.hisCtMedicineMaterial;
2
3 import org.apache.commons.lang3.StringUtils;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.stereotype.Service;
8 import org.springframework.transaction.annotation.Transactional;
9
10 import com.phxl.common.utils.BaseException;
11 import com.phxl.common.utils.IdUtil;
12 import com.phxl.modules.goods.dao.hisCtMedicineMaterial.HisCtMedicineMaterialDao;
13 import com.phxl.modules.goods.entity.hisCtMedicineMaterial.HisCtMedicineMaterial;
14
15
16 @Service
17 public class HisCtMedicineMaterialService{
18
19 @Autowired
20 private HisCtMedicineMaterialDao hisCtMedicineMaterialDao;
21
22 /**
23 * 日志对象
24 */
25 protected Logger logger = LoggerFactory.getLogger(getClass());
26
27
28 /**
29 * 同步药品目录信息
30 */
31 @Transactional
32 public String saveMedicine(HisCtMedicineMaterial materials) {
33 try {
34 checkMaterial(materials);
35 if(hisCtMedicineMaterialDao.get(materials)!=null){
36 hisCtMedicineMaterialDao.update(materials);
37 }else{
38 materials.setId(IdUtil.uuid());
39 hisCtMedicineMaterialDao.insert(materials);
40 }
41 } catch (Exception e) {
42 logger.error(e.getMessage());
43 throw new BaseException(e.getMessage());
44 }
45 return "1";
46 }
47
48
49 private void checkMaterial(HisCtMedicineMaterial materials) {
50 String medCode = materials.getMedCode();
51 String medName = materials.getMedName();
52 if (StringUtils.isEmpty(medCode) || StringUtils.isEmpty(medName)) {
53 logger.error("前置机:药品目录医疗机构编码以及医疗机构名称不能为空");
54 throw new BaseException("前置机:药品目录医疗机构编码以及医疗机构名称不能为空");
55 }
56 String goodsCode = materials.getGoodsCode();
57 String goodsName = materials.getGoodsName();
58 if (StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)) {
59 logger.error("前置机:药品目录商品编码以及商品名称不能为空");
60 throw new BaseException("前置机:药品目录商品编码以及商品名称不能为空");
61 }
62 String goodsSpec = materials.getGoodsSpec();
63 if (StringUtils.isEmpty(goodsSpec)) {
64 logger.error("前置机:药品目录商品规格不能为空");
65 throw new BaseException("前置机:药品目录商品规格不能为空");
66 }
67 }
68
69
70 public String createRequest() {
71
72 return null;
73
74 }
75
76
77 }
1 package com.phxl.common.constants;
2
3 public class HisResponseConstant {
4
5 public static class ResponseBodyMsg{
6 public static final String success_ResultCode = "001";
7 public static final String getSuccess_ResultContent = "成功";
8 }
9
10 public static class ResponseHeaderMsg{
11 public static final String SUPPLYGOODS_MESSAGEID = "004";
12 public static final String SUPPLYGOODS_SOURCESYSTEM = "医院采购目录";
13 }
14
15 }
1 package com.phxl.modules.goods.entity.billsettlement;
2
3 public class BillSettlementWithDetail {
4
5 private BillSettlement TRSettle;
6
7 public BillSettlement getTRSettle() {
8 return TRSettle;
9 }
10
11 public void setTRSettle(BillSettlement tRSettle) {
12 TRSettle = tRSettle;
13 }
14 }
1 package com.phxl.common.response;
2
3 public class PlatFormResponseConstant {
4
5 public static class ResponseBodyMsg{
6
7 public static final String success_ResultCode = "Y";
8 public static final String fail_ResultCode = "E";
9
10 public static final String getSuccess_ResultContent = "成功";
11 public static final String getFail_ResultContent = "失败";
12
13 }
14
15 public static class ResponseHeaderMsg{
16 public static final String SUPPLYGOODS_MESSAGEID = "004";
17 public static final String SUPPLYGOODS_SOURCESYSTEM = "医院采购目录";
18 }
19
20 }
1 package com.phxl.common.util;
2
3 import com.thoughtworks.xstream.XStream;
4
5 public class XMLUtil {
6 private static final XStream xStream = new XStream();
7
8 // 将对象转为XML字符串
9 public static <T> String toXML(T obj) {
10 Class<?> cls = obj.getClass();
11 xStream.alias(cls.getSimpleName().toLowerCase(), cls);
12 xStream.aliasSystemAttribute(null, "class");
13 return xStream.toXML(obj);
14 }
15
16 // 将XML字符串转为对象
17 @SuppressWarnings({"unchecked"})
18 public static <T> T fromXML(String xml) {
19 return (T) xStream.fromXML(xml);
20 }
21 }
1 package com.phxl.modules.goods.entity.invoiceback;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5 import java.util.List;
6
7 import com.alibaba.fastjson.annotation.JSONField;
8
9 public class SuInvoiceBack{
10 @JSONField(name = "SettleBillNo")
11 private String settleBillNo; //结算单号
12 @JSONField(name = "SettleDate")
13 private Date settleDate; //结算单日期
14 @JSONField(name = "MedCode")
15 private String medCode; //医疗机构编码
16 @JSONField(name = "MedName")
17 private String medName; //医疗机构名称
18 @JSONField(name = "SupplierCode")
19 private String supplierCode; //供应商编码
20 @JSONField(name = "SupplierName")
21 private String supplierName; //供应商名称
22 @JSONField(name = "GoodsSum")
23 private int goodsSum; //商品条目/品规数
24 @JSONField(name = "Amount")
25 private BigDecimal amount; //结算金额
26 @JSONField(name = "BeginDate")
27 private Date beginDate; //业务开始日期
28 @JSONField(name = "EndDate")
29 private Date endDate; //业务结束日期
30 @JSONField(name = "CREATE_TIME")
31 private Date create_time; //创建时间
32 @JSONField(name = "UPDATE_TIME")
33 private Date update_time; //更新时间
34
35
36 public Date getCreate_time() {
37 return create_time;
38 }
39
40 public void setCreate_time(Date create_time) {
41 this.create_time = create_time;
42 }
43
44 public Date getUpdate_time() {
45 return update_time;
46 }
47
48 public void setUpdate_time(Date update_time) {
49 this.update_time = update_time;
50 }
51
52 private List<SuInvoiceBackDetail> billdetaillist; //回传发票明细
53
54 private String id;
55
56 public String getSettleBillNo() {
57 return settleBillNo;
58 }
59
60 public void setSettleBillNo(String settleBillNo) {
61 this.settleBillNo = settleBillNo;
62 }
63
64 public Date getSettleDate() {
65 return settleDate;
66 }
67
68 public void setSettleDate(Date settleDate) {
69 this.settleDate = settleDate;
70 }
71
72 public String getMedCode() {
73 return medCode;
74 }
75
76 public void setMedCode(String medCode) {
77 this.medCode = medCode;
78 }
79
80 public String getMedName() {
81 return medName;
82 }
83
84 public void setMedName(String medName) {
85 this.medName = medName;
86 }
87
88 public String getSupplierCode() {
89 return supplierCode;
90 }
91
92 public void setSupplierCode(String supplierCode) {
93 this.supplierCode = supplierCode;
94 }
95
96 public String getSupplierName() {
97 return supplierName;
98 }
99
100 public void setSupplierName(String supplierName) {
101 this.supplierName = supplierName;
102 }
103
104 public int getGoodsSum() {
105 return goodsSum;
106 }
107
108 public void setGoodsSum(int goodsSum) {
109 this.goodsSum = goodsSum;
110 }
111
112 public BigDecimal getAmount() {
113 return amount;
114 }
115
116 public void setAmount(BigDecimal amount) {
117 this.amount = amount;
118 }
119
120 public Date getBeginDate() {
121 return beginDate;
122 }
123
124 public void setBeginDate(Date beginDate) {
125 this.beginDate = beginDate;
126 }
127
128 public Date getEndDate() {
129 return endDate;
130 }
131
132 public void setEndDate(Date endDate) {
133 this.endDate = endDate;
134 }
135
136 public String getId() {
137 return id;
138 }
139
140 public void setId(String id) {
141 this.id = id;
142 }
143
144 public List<SuInvoiceBackDetail> getBilldetaillist() {
145 return billdetaillist;
146 }
147
148 public void setBilldetaillist(List<SuInvoiceBackDetail> billdetaillist) {
149 this.billdetaillist = billdetaillist;
150 }
151
152
153 }
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.billback.BillBackDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.billback.BillBack">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="bill_no" property="billNo" jdbcType="VARCHAR" />
10 <result column="medMV_bill_no" property="medMVBillNo" jdbcType="VARCHAR" />
11 <result column="supplier_code" property="supplierCode" jdbcType="VARCHAR" />
12 <result column="supplierb_name" property="supplierbName" jdbcType="VARCHAR" />
13 <result column="med_code" property="medCode" jdbcType="VARCHAR" />
14 <result column="med_name" property="medName" jdbcType="VARCHAR" />
15 <result column="bill_date" property="billDate" jdbcType="TIMESTAMP" />
16 <result column="reason" property="reason" jdbcType="VARCHAR" />
17 <result column="count_sum" property="countSum" jdbcType="TINYINT" />
18 <result column="detail_sum" property="detailSum" jdbcType="DECIMAL" />
19 <result column="operater_name" property="operaterName" jdbcType="VARCHAR" />
20 <result column="input_date" property="inputDate" jdbcType="TIMESTAMP" />
21 <result column="memo" property="memo" jdbcType="VARCHAR" />
22 <result column="create_time" property="create_time" jdbcType="TIMESTAMP" />
23 <result column="update_time" property="update_time" jdbcType="TIMESTAMP" />
24 </resultMap>
25
26 <!--Base_Column_List -->
27 <sql id="Base_Column_List">id,bill_no,medMV_bill_no,supplier_code,supplierb_name,med_code,med_name,bill_date,reason,count_sum,detail_sum,operater_name,input_date,memo,create_time,update_time</sql>
28
29
30 <!-- 新增BillBack-->
31 <insert id="insert" parameterType="com.phxl.modules.goods.entity.billback.BillBack">
32 insert into med_bill_back (id,bill_no,medMV_bill_no,supplier_code,supplierb_name,med_code,med_name,bill_date,reason,count_sum,detail_sum,operater_name,input_date,memo,create_time,update_time)
33 values (
34 #{id,jdbcType=VARCHAR}
35 ,#{billNo,jdbcType=VARCHAR}
36 ,#{medMVBillNo,jdbcType=VARCHAR}
37 ,#{supplierCode,jdbcType=VARCHAR}
38 ,#{supplierbName,jdbcType=VARCHAR}
39 ,#{medCode,jdbcType=VARCHAR}
40 ,#{medName,jdbcType=VARCHAR}
41 ,#{billDate,jdbcType=TIMESTAMP}
42 ,#{reason,jdbcType=VARCHAR}
43 ,#{countSum,jdbcType=TINYINT}
44 ,#{detailSum,jdbcType=DECIMAL}
45 ,#{operaterName,jdbcType=VARCHAR}
46 ,#{inputDate,jdbcType=TIMESTAMP}
47 ,#{memo,jdbcType=VARCHAR}
48 ,#{create_time,jdbcType=TIMESTAMP}
49 ,#{update_time,jdbcType=TIMESTAMP}
50 )
51 </insert>
52
53 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 Window
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.dao.interfaceLog;
2
3 import com.phxl.modules.goods.entity.interfaceLog.InterfaceLog;
4
5 /**
6 * 接口日志DAO接口
7 * @author zhangbing
8 * @version 2018-08-20
9 */
10
11 public interface InterfaceLogDao{
12
13 void insert(InterfaceLog interfaceLog);
14
15 void update(InterfaceLog interfaceLog);
16
17
18 }
1 package com.phxl.modules.goods.entity.medinstore;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5
6 public class MedInStoreDetail {
7 public String getBillNo() {
8 return billNo;
9 }
10 public void setBillNo(String billNo) {
11 this.billNo = billNo;
12 }
13 public String getRowNo() {
14 return rowNo;
15 }
16 public void setRowNo(String rowNo) {
17 this.rowNo = rowNo;
18 }
19 public String getMedPlanRowNo() {
20 return medPlanRowNo;
21 }
22 public void setMedPlanRowNo(String medPlanRowNo) {
23 this.medPlanRowNo = medPlanRowNo;
24 }
25 public String getSupplierDoNo() {
26 return supplierDoNo;
27 }
28 public void setSupplierDoNo(String supplierDoNo) {
29 this.supplierDoNo = supplierDoNo;
30 }
31 public String getSupplierDoRowNo() {
32 return supplierDoRowNo;
33 }
34 public void setSupplierDoRowNo(String supplierDoRowNo) {
35 this.supplierDoRowNo = supplierDoRowNo;
36 }
37 public String getGoodsCode() {
38 return goodsCode;
39 }
40 public void setGoodsCode(String goodsCode) {
41 this.goodsCode = goodsCode;
42 }
43 public String getGoodsName() {
44 return goodsName;
45 }
46 public void setGoodsName(String goodsName) {
47 this.goodsName = goodsName;
48 }
49 public String getGoodsSpec() {
50 return goodsSpec;
51 }
52 public void setGoodsSpec(String goodsSpec) {
53 this.goodsSpec = goodsSpec;
54 }
55 public String getUnit() {
56 return unit;
57 }
58 public void setUnit(String unit) {
59 this.unit = unit;
60 }
61 public String getManufacturer() {
62 return manufacturer;
63 }
64 public void setManufacturer(String manufacturer) {
65 this.manufacturer = manufacturer;
66 }
67 public BigDecimal getPurchaserPrice() {
68 return purchaserPrice;
69 }
70 public void setPurchaserPrice(BigDecimal purchaserPrice) {
71 this.purchaserPrice = purchaserPrice;
72 }
73 public BigDecimal getAmount() {
74 return amount;
75 }
76 public void setAmount(BigDecimal amount) {
77 this.amount = amount;
78 }
79 public String getLot() {
80 return lot;
81 }
82 public void setLot(String lot) {
83 this.lot = lot;
84 }
85 public Date getProductionDate() {
86 return productionDate;
87 }
88 public void setProductionDate(Date productionDate) {
89 this.productionDate = productionDate;
90 }
91 public Date getExpireDate() {
92 return expireDate;
93 }
94 public void setExpireDate(Date expireDate) {
95 this.expireDate = expireDate;
96 }
97 public BigDecimal getArrivalqty() {
98 return arrivalqty;
99 }
100 public void setArrivalqty(BigDecimal arrivalqty) {
101 this.arrivalqty = arrivalqty;
102 }
103 public BigDecimal getMvqty() {
104 return mvqty;
105 }
106 public void setMvqty(BigDecimal mvqty) {
107 this.mvqty = mvqty;
108 }
109 public String getMemo() {
110 return memo;
111 }
112 public void setMemo(String memo) {
113 this.memo = memo;
114 }
115 private String id;
116
117 public String getId() {
118 return id;
119 }
120 public void setId(String id) {
121 this.id = id;
122 }
123 private String billNo;
124 private String rowNo;
125 private String medPlanRowNo;
126 private String supplierDoNo;
127 private String supplierDoRowNo;
128 private String goodsCode;
129 private String goodsName;
130 private String goodsSpec;
131 private String unit;
132 private String manufacturer;
133 private BigDecimal purchaserPrice;
134 private BigDecimal amount;
135 private String lot;
136 private Date productionDate;
137 private Date expireDate;
138 private BigDecimal arrivalqty;
139 private BigDecimal mvqty;
140 private String memo;
141
142 }
1 jdbc.type=mysql
2 jdbc.driver=com.mysql.jdbc.Driver
3 jdbc.url=jdbc:mysql://114.115.184.70:3306/medicinal-supplier?useUnicode=true&characterEncoding=utf-8
4 jdbc.username=root
5 jdbc.password=Puhua888@com
6
7
8 spd_service_url = http://localhost:8080/medicinal-web/a/spdrecvsupplier/
1 package com.phxl.common.util;
2
3
4 import java.io.BufferedReader;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.InputStreamReader;
8 import java.util.List;
9 import java.util.regex.Matcher;
10 import java.util.regex.Pattern;
11
12 import org.apache.commons.logging.Log;
13 import org.apache.commons.logging.LogFactory;
14
15
16 public class VideoThumbTaker {
17
18 static Log log = LogFactory.getLog(VideoThumbTaker.class);
19
20 protected String ffmpegApp;
21
22 public VideoThumbTaker(String ffmpegApp) {
23 this.ffmpegApp = ffmpegApp;
24 }
25
26 @SuppressWarnings("unused")
27 /****
28 * 获取指定时间内的图片
29 *
30 * @param videoFilename:视频路径
31 * @param thumbFilename:图片保存路径
32 * @param width:图片长
33 * @param height:图片宽
34 * @param hour:指定时
35 * @param min:指定分
36 * @param sec:指定秒
37 * @throws IOException
38 * @throws InterruptedException
39 */
40 public void getThumb(String videoFilename, String thumbFilename, int width, int height, int hour, int min,
41 float sec) throws IOException, InterruptedException {
42 ProcessBuilder processBuilder = new ProcessBuilder(ffmpegApp, "-y", "-i", videoFilename, "-vframes", "1", "-ss",
43 hour + ":" + min + ":" + sec, "-f", "mjpeg", "-s", width + "*" + height, "-an", thumbFilename);
44
45 Process process = processBuilder.start();
46
47 InputStream stderr = process.getErrorStream();
48 InputStreamReader isr = new InputStreamReader(stderr);
49 BufferedReader br = new BufferedReader(isr);
50 String line;
51 while ((line = br.readLine()) != null)
52 ;
53 process.waitFor();
54
55 if (br != null)
56 br.close();
57 if (isr != null)
58 isr.close();
59 if (stderr != null)
60 stderr.close();
61 }
62
63 /****
64 * 获取指定时间内的图片
65 *
66 * @param ffmpeg:ffmpeg插件路径
67 * @param localMp4:本地mp4保存路径
68 * @param localMp4Img:本地mp4图片保存路径
69 * @throws IOException
70 * @throws InterruptedException
71 */
72 public static void getVidioImg(String ffmpeg,String localMp4,String localMp4Img) throws Exception{
73 VideoThumbTaker videoThumbTaker = new VideoThumbTaker(ffmpeg);
74 videoThumbTaker.getThumb(localMp4, localMp4Img, 800,600, 0, 0, 0.5f);
75
76 }
77
78
79 /**
80 * 获取视频总时间
81 * @param viedo_path 视频路径
82 * @param ffmpeg_path ffmpeg路径
83 * @return
84 */
85 public static int getVideoTime(String video_path, String ffmpeg_path) {
86 List<String> commands = new java.util.ArrayList<String>();
87 commands.add(ffmpeg_path);
88 commands.add("-i");
89 commands.add(video_path);
90 try {
91 ProcessBuilder builder = new ProcessBuilder();
92 builder.command(commands);
93 final Process p = builder.start();
94
95 //从输入流中读取视频信息
96 BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
97 StringBuffer sb = new StringBuffer();
98 String line = "";
99 while ((line = br.readLine()) != null) {
100 sb.append(line);
101 }
102 br.close();
103
104 //从视频信息中解析时长
105 String regexDuration = "Duration: (.*?), start: (.*?), bitrate: (\\d*) kb\\/s";
106 Pattern pattern = Pattern.compile(regexDuration);
107 Matcher m = pattern.matcher(sb.toString());
108 if (m.find()) {
109 int time = getTimelen(m.group(1));
110 //log.info(video_path+",视频时长:"+time+", 开始时间:"+m.group(2)+",比特率:"+m.group(3)+"kb/s");
111 return time;
112 }
113 } catch (Exception e) {
114 log.error("获取音频时长失败:"+e);
115 }
116
117 return 0;
118 }
119
120 //格式:"00:00:10.68"
121 private static int getTimelen(String timelen){
122 int min=0;
123 String strs[] = timelen.split(":");
124 if (strs[0].compareTo("0") > 0) {
125 min+=Integer.valueOf(strs[0])*60*60;//秒
126 }
127 if(strs[1].compareTo("0")>0){
128 min+=Integer.valueOf(strs[1])*60;
129 }
130 if(strs[2].compareTo("0")>0){
131 min+=Math.round(Float.valueOf(strs[2]));
132 }
133 return min;
134 }
135
136 //测试方法
137 public static void main(String[] args) {
138 String ffmpegPath = "D:\\software\\ffmpeg\\bin\\ffmpeg.exe";
139 //VideoThumbTaker videoThumbTaker = new VideoThumbTaker("D:\\software\\ffmpeg\\bin\\ffmpeg.exe");
140 try {
141 /*videoThumbTaker.getThumb("D:\\videoMp4sLoc\\114265ef-beb6-437f-9015-2e9af8fa2b9a.mp4", "D:\\thumbTest222.png", 800,600, 0, 0, 1);
142 System.out.println("over");*/
143
144 System.out.println(getVideoTime("D:\\jpg\\22.mp3",ffmpegPath));
145 } catch (Exception e) {
146 e.printStackTrace();
147 }
148 }
149 }
1 // JavaScript Document
2 jQuery.extend({
3
4 createUploadIframe: function(id, uri)
5 {
6 //create frame
7 var frameId = 'jUploadFrame' + id;
8
9 if(window.ActiveXObject) {
10 var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
11 if(typeof uri== 'boolean'){
12 io.src = 'javascript:false';
13 }
14 else if(typeof uri== 'string'){
15 io.src = uri;
16 }
17 }
18 else {
19 var io = document.createElement('iframe');
20 io.id = frameId;
21 io.name = frameId;
22 }
23 io.style.position = 'absolute';
24 io.style.top = '-1000px';
25 io.style.left = '-1000px';
26
27 document.body.appendChild(io);
28
29 return io;
30 },
31 createUploadForm: function(id, fileElementId)
32 {
33 //create form
34 var formId = 'jUploadForm' + id;
35 var fileId = 'jUploadFile' + id;
36 var form = jQuery('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
37 var oldElement = jQuery('#' + fileElementId);
38 var newElement = jQuery(oldElement).clone();
39 jQuery(oldElement).attr('id', fileId);
40 jQuery(oldElement).before(newElement);
41 jQuery(oldElement).appendTo(form);
42 //set attributes
43 jQuery(form).css('position', 'absolute');
44 jQuery(form).css('top', '-1200px');
45 jQuery(form).css('left', '-1200px');
46 jQuery(form).appendTo('body');
47 return form;
48 },
49
50 ajaxFileUpload: function(s) {
51 // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
52 s = jQuery.extend({}, jQuery.ajaxSettings, s);
53 var id = s.fileElementId;
54 var form = jQuery.createUploadForm(id, s.fileElementId);
55 var io = jQuery.createUploadIframe(id, s.secureuri);
56 var frameId = 'jUploadFrame' + id;
57 var formId = 'jUploadForm' + id;
58
59 if( s.global && ! jQuery.active++ )
60 {
61 // Watch for a new set of requests
62 jQuery.event.trigger( "ajaxStart" );
63 }
64 var requestDone = false;
65 // Create the request object
66 var xml = {};
67 if( s.global )
68 {
69 jQuery.event.trigger("ajaxSend", [xml, s]);
70 }
71
72 var uploadCallback = function(isTimeout)
73 {
74 // Wait for a response to come back
75 var io = document.getElementById(frameId);
76 try
77 {
78 if(io.contentWindow)
79 {
80 xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
81 xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
82
83 }else if(io.contentDocument)
84 {
85 xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
86 xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
87 }
88 }catch(e)
89 {
90 jQuery.handleError(s, xml, null, e);
91 }
92 if( xml || isTimeout == "timeout")
93 {
94 requestDone = true;
95 var status;
96 try {
97 status = isTimeout != "timeout" ? "success" : "error";
98 // Make sure that the request was successful or notmodified
99 if( status != "error" )
100 {
101 // process the data (runs the xml through httpData regardless of callback)
102 var data = jQuery.uploadHttpData( xml, s.dataType );
103 if( s.success )
104 {
105 // ifa local callback was specified, fire it and pass it the data
106 s.success( data, status );
107 };
108 if( s.global )
109 {
110 // Fire the global callback
111 jQuery.event.trigger( "ajaxSuccess", [xml, s] );
112 };
113 } else
114 {
115 jQuery.handleError(s, xml, status);
116 }
117
118 } catch(e)
119 {
120 status = "error";
121 jQuery.handleError(s, xml, status, e);
122 };
123 if( s.global )
124 {
125 // The request was completed
126 jQuery.event.trigger( "ajaxComplete", [xml, s] );
127 };
128
129
130 // Handle the global AJAX counter
131 if(s.global && ! --jQuery.active)
132 {
133 jQuery.event.trigger("ajaxStop");
134 };
135 if(s.complete)
136 {
137 s.complete(xml, status);
138 } ;
139
140 jQuery(io).unbind();
141
142 setTimeout(function()
143 { try
144 {
145 jQuery(io).remove();
146 jQuery(form).remove();
147
148 } catch(e)
149 {
150 jQuery.handleError(s, xml, null, e);
151 }
152
153 }, 100);
154
155 xml = null;
156
157 };
158 }
159 // Timeout checker
160 if( s.timeout > 0 )
161 {
162 setTimeout(function(){
163
164 if( !requestDone )
165 {
166 // Check to see ifthe request is still happening
167 uploadCallback( "timeout" );
168 }
169
170 }, s.timeout);
171 }
172 try
173 {
174 var form = jQuery('#' + formId);
175 jQuery(form).attr('action', s.url);
176 jQuery(form).attr('method', 'POST');
177 jQuery(form).attr('target', frameId);
178 if(form.encoding)
179 {
180 form.encoding = 'multipart/form-data';
181 }
182 else
183 {
184 form.enctype = 'multipart/form-data';
185 }
186 jQuery(form).submit();
187
188 } catch(e)
189 {
190 jQuery.handleError(s, xml, null, e);
191 }
192 if(window.attachEvent){
193 document.getElementById(frameId).attachEvent('onload', uploadCallback);
194 }
195 else{
196 document.getElementById(frameId).addEventListener('load', uploadCallback, false);
197 }
198 return {abort: function () {}};
199
200 },
201
202
203 handleError: function( s, xhr, status, e ) {
204 // If a local callback was specified, fire it
205 if ( s.error ) {
206 s.error.call( s.context || s, xhr, status, e );
207 }
208
209 // Fire the global callback
210 if ( s.global ) {
211 (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
212 }
213 },
214
215 uploadHttpData: function( r, type ) {
216 var data = !type;
217 data = type == "xml" || data ? r.responseXML : r.responseText;
218 // ifthe type is "script", eval it in global context
219 if( type == "script" )
220 {
221 jQuery.globalEval( data );
222 }
223
224 // Get the JavaScript object, ifJSON is used.
225 if( type == "json" )
226 {
227 eval( "data = " + data );
228 }
229
230 // evaluate scripts within html
231 if( type == "html" )
232 {
233 jQuery("<div>").html(data).evalScripts();
234 }
235
236 return data;
237 }
238 });
239
240
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.billsettlement.BillSettlementDetailDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.billsettlement.BillSettlementDetail">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="settle_bill_no" property="billNo" jdbcType="VARCHAR" />
10 <result column="row_no" property="rowNo" jdbcType="TINYINT" />
11 <result column="goods_cate" property="goodsCate" jdbcType="VARCHAR" />
12 <result column="goods_code" property="goodsCode" jdbcType="VARCHAR" />
13 <result column="goods_name" property="goodsName" jdbcType="VARCHAR" />
14 <result column="settle_qty" property="settleQty" jdbcType="DECIMAL" />
15 <result column="unit" property="unit" jdbcType="VARCHAR" />
16 <result column="settle_price" property="settleUnit" jdbcType="DECIMAL" />
17 <result column="settle_amount" property="settlePrice" jdbcType="DECIMAL" />
18 <result column="regist_key" property="registKey" jdbcType="VARCHAR" />
19 <result column="producer_name" property="producerName" jdbcType="VARCHAR" />
20 <result column="lot" property="lot" jdbcType="VARCHAR" />
21 <result column="production_date" property="productionDate" jdbcType="TIMESTAMP" />
22 <result column="expire_date" property="expireDate" jdbcType="TIMESTAMP" />
23 <result column="create_time" property="create_time" jdbcType="TIMESTAMP" />
24 <result column="update_time" property="update_time" jdbcType="TIMESTAMP" />
25 </resultMap>
26
27 <!--Base_Column_List -->
28 <sql id="Base_Column_List">id,settle_bill_no,row_no,goods_code,goods_name,settle_qty,unit,settle_price,settle_amount,regist_key,producer_name,lot,production_date,expire_date,create_time,update_time,goods_cate</sql>
29
30 <!--批量插入BillBackDetail -->
31 <insert id="batchInsert" parameterType="list">
32 insert into med_bill_settlement_detail (id,settle_bill_no,row_no,goods_code,goods_name,settle_qty,unit,settle_price,settle_amount,regist_key,producer_name,lot,production_date,expire_date,create_time,update_time,goods_cate)
33 values
34 <foreach collection ="list" item="obj" separator =",">
35 <trim prefix=" (" suffix=")" suffixOverrides=",">
36 #{obj.id},
37 #{obj.settleBillNo},
38 #{obj.rowNo},
39 #{obj.goodsCode},
40 #{obj.goodsName},
41 #{obj.settleQty},
42 #{obj.unit},
43 #{obj.settlePrice},
44 #{obj.settleAmount},
45 #{obj.registKey},
46 #{obj.producerName},
47 #{obj.lot},
48 #{obj.productionDate},
49 #{obj.expireDate},
50 #{obj.create_time},
51 #{obj.update_time},
52 #{obj.goodsCate}
53 </trim>
54 </foreach>
55 </insert>
56
57 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.entity.medplan;
2
3 import java.util.List;
4
5 public class MedPlanDto {
6
7 private List<MedPlan> list;
8
9 public List<MedPlan> getList() {
10 return list;
11 }
12
13 public void setList(List<MedPlan> list) {
14 this.list = list;
15 }
16
17 }
1 package com.phxl.modules.goods.entity.suoutstore;
2
3 public class SuOutStoreWithDetail {
4 public SuOutStore getBill() {
5 return bill;
6 }
7
8 public void setBill(SuOutStore bill) {
9 this.bill = bill;
10 }
11
12 private SuOutStore bill;
13
14 }
1 package com.phxl.modules.goods.entity.hisCtMedicineMaterial;
2
3 import java.math.BigDecimal;
4 /**
5 *
6 * @ClassName: HisCtMedicineMaterial
7 * @Description: 药品目录表实体类
8 * @author zhangbing
9 * @date 2018-09-18 14:44:26
10 *
11 */
12 public class HisCtMedicineMaterial{
13
14 private String id;
15 private String medCode; //HIS库房编码
16 private String medName; //HIS库房名称
17 public String getMedCode() {
18 return medCode;
19 }
20 private String goodsCode; //HIS商品编码
21 private String goodsSpec; //规格
22 private String goodsName; //商品名称
23 private String sName; //通用名称
24 private String pName; //打印名称
25 private String helpCode; //助记码
26 private String producer; //生产厂商
27 private String agentName; //代理商/售后服务机构
28 private String medGoodsCateGUID; //商品类别GUID
29 private String medGoodsCateName; //商品类别名称
30 private String registKey; //批准文号
31 private BigDecimal price; //采购价
32 private BigDecimal salePrice; //零售价
33 private BigDecimal batSalePrice; //批发价
34 private String productionAddress; //产地
35 private String dosageForm; //剂型
36 private BigDecimal length; //长
37 private BigDecimal width; //宽
38 private BigDecimal height; //高
39 private BigDecimal grossWeight; //毛重
40 private BigDecimal netWeight; //净重
41 private String unitStyle; //计量单位,最小单位:支、片等
42 private String bigUnitStyle; //大包装单位
43 private BigDecimal bigUnitQty; //大包装含量
44 private String bigBcd; //大包装条码
45 private String minUnitStyle; //小包装单位
46 private BigDecimal minUnitQty; //小包装含量
47 private String litBcd; //小包装条码
48 private String isLotCtrlInput; //批号必输检验
49 private String bizState; //业务状态
50 private String importedFlag; //生产来源
51 private String reportFlag; //报告药标识
52 private String noxiousFlag; //毒麻标识
53 private String drugNerveFlag; //精神药标识
54 private String productStandardCode; //产品本位码
55 private String specStandardCode; //规格本位码
56 private String brand; //品牌
57 private String coldFlag; //冷藏标识
58 private String supplierCode; //供应商编码
59 private String supplierName; //供应商名称
60 private String memo; //备注
61 public void setMedCode(String medCode) {
62 this.medCode = medCode;
63 }
64 public String getMedName() {
65 return medName;
66 }
67 public void setMedName(String medName) {
68 this.medName = medName;
69 }
70 public String getGoodsCode() {
71 return goodsCode;
72 }
73 public void setGoodsCode(String goodsCode) {
74 this.goodsCode = goodsCode;
75 }
76 public String getGoodsSpec() {
77 return goodsSpec;
78 }
79 public void setGoodsSpec(String goodsSpec) {
80 this.goodsSpec = goodsSpec;
81 }
82 public String getGoodsName() {
83 return goodsName;
84 }
85 public void setGoodsName(String goodsName) {
86 this.goodsName = goodsName;
87 }
88 public String getsName() {
89 return sName;
90 }
91 public void setsName(String sName) {
92 this.sName = sName;
93 }
94 public String getpName() {
95 return pName;
96 }
97 public void setpName(String pName) {
98 this.pName = pName;
99 }
100 public String getHelpCode() {
101 return helpCode;
102 }
103 public void setHelpCode(String helpCode) {
104 this.helpCode = helpCode;
105 }
106 public String getProducer() {
107 return producer;
108 }
109 public void setProducer(String producer) {
110 this.producer = producer;
111 }
112 public String getAgentName() {
113 return agentName;
114 }
115 public void setAgentName(String agentName) {
116 this.agentName = agentName;
117 }
118 public String getMedGoodsCateGUID() {
119 return medGoodsCateGUID;
120 }
121 public void setMedGoodsCateGUID(String medGoodsCateGUID) {
122 this.medGoodsCateGUID = medGoodsCateGUID;
123 }
124 public String getMedGoodsCateName() {
125 return medGoodsCateName;
126 }
127 public void setMedGoodsCateName(String medGoodsCateName) {
128 this.medGoodsCateName = medGoodsCateName;
129 }
130 public String getRegistKey() {
131 return registKey;
132 }
133 public void setRegistKey(String registKey) {
134 this.registKey = registKey;
135 }
136 public BigDecimal getPrice() {
137 return price;
138 }
139 public void setPrice(BigDecimal price) {
140 this.price = price;
141 }
142 public BigDecimal getSalePrice() {
143 return salePrice;
144 }
145 public void setSalePrice(BigDecimal salePrice) {
146 this.salePrice = salePrice;
147 }
148 public BigDecimal getBatSalePrice() {
149 return batSalePrice;
150 }
151 public void setBatSalePrice(BigDecimal batSalePrice) {
152 this.batSalePrice = batSalePrice;
153 }
154 public String getProductionAddress() {
155 return productionAddress;
156 }
157 public void setProductionAddress(String productionAddress) {
158 this.productionAddress = productionAddress;
159 }
160 public String getDosageForm() {
161 return dosageForm;
162 }
163 public void setDosageForm(String dosageForm) {
164 this.dosageForm = dosageForm;
165 }
166 public BigDecimal getLength() {
167 return length;
168 }
169 public void setLength(BigDecimal length) {
170 this.length = length;
171 }
172 public BigDecimal getWidth() {
173 return width;
174 }
175 public void setWidth(BigDecimal width) {
176 this.width = width;
177 }
178 public BigDecimal getHeight() {
179 return height;
180 }
181 public void setHeight(BigDecimal height) {
182 this.height = height;
183 }
184 public BigDecimal getGrossWeight() {
185 return grossWeight;
186 }
187 public void setGrossWeight(BigDecimal grossWeight) {
188 this.grossWeight = grossWeight;
189 }
190 public BigDecimal getNetWeight() {
191 return netWeight;
192 }
193 public void setNetWeight(BigDecimal netWeight) {
194 this.netWeight = netWeight;
195 }
196 public String getUnitStyle() {
197 return unitStyle;
198 }
199 public void setUnitStyle(String unitStyle) {
200 this.unitStyle = unitStyle;
201 }
202 public String getBigUnitStyle() {
203 return bigUnitStyle;
204 }
205 public void setBigUnitStyle(String bigUnitStyle) {
206 this.bigUnitStyle = bigUnitStyle;
207 }
208 public BigDecimal getBigUnitQty() {
209 return bigUnitQty;
210 }
211 public void setBigUnitQty(BigDecimal bigUnitQty) {
212 this.bigUnitQty = bigUnitQty;
213 }
214 public String getBigBcd() {
215 return bigBcd;
216 }
217 public void setBigBcd(String bigBcd) {
218 this.bigBcd = bigBcd;
219 }
220 public String getMinUnitStyle() {
221 return minUnitStyle;
222 }
223 public void setMinUnitStyle(String minUnitStyle) {
224 this.minUnitStyle = minUnitStyle;
225 }
226 public BigDecimal getMinUnitQty() {
227 return minUnitQty;
228 }
229 public void setMinUnitQty(BigDecimal minUnitQty) {
230 this.minUnitQty = minUnitQty;
231 }
232 public String getLitBcd() {
233 return litBcd;
234 }
235 public void setLitBcd(String litBcd) {
236 this.litBcd = litBcd;
237 }
238 public String getIsLotCtrlInput() {
239 return isLotCtrlInput;
240 }
241 public void setIsLotCtrlInput(String isLotCtrlInput) {
242 this.isLotCtrlInput = isLotCtrlInput;
243 }
244 public String getBizState() {
245 return bizState;
246 }
247 public void setBizState(String bizState) {
248 this.bizState = bizState;
249 }
250 public String getImportedFlag() {
251 return importedFlag;
252 }
253 public void setImportedFlag(String importedFlag) {
254 this.importedFlag = importedFlag;
255 }
256 public String getReportFlag() {
257 return reportFlag;
258 }
259 public void setReportFlag(String reportFlag) {
260 this.reportFlag = reportFlag;
261 }
262 public String getNoxiousFlag() {
263 return noxiousFlag;
264 }
265 public void setNoxiousFlag(String noxiousFlag) {
266 this.noxiousFlag = noxiousFlag;
267 }
268 public String getDrugNerveFlag() {
269 return drugNerveFlag;
270 }
271 public void setDrugNerveFlag(String drugNerveFlag) {
272 this.drugNerveFlag = drugNerveFlag;
273 }
274 public String getProductStandardCode() {
275 return productStandardCode;
276 }
277 public void setProductStandardCode(String productStandardCode) {
278 this.productStandardCode = productStandardCode;
279 }
280 public String getSpecStandardCode() {
281 return specStandardCode;
282 }
283 public void setSpecStandardCode(String specStandardCode) {
284 this.specStandardCode = specStandardCode;
285 }
286 public String getBrand() {
287 return brand;
288 }
289 public void setBrand(String brand) {
290 this.brand = brand;
291 }
292 public String getColdFlag() {
293 return coldFlag;
294 }
295 public void setColdFlag(String coldFlag) {
296 this.coldFlag = coldFlag;
297 }
298 public String getSupplierCode() {
299 return supplierCode;
300 }
301 public void setSupplierCode(String supplierCode) {
302 this.supplierCode = supplierCode;
303 }
304 public String getSupplierName() {
305 return supplierName;
306 }
307 public void setSupplierName(String supplierName) {
308 this.supplierName = supplierName;
309 }
310 public String getMemo() {
311 return memo;
312 }
313 public void setMemo(String memo) {
314 this.memo = memo;
315 }
316 public String getId() {
317 return id;
318 }
319 public void setId(String id) {
320 this.id = id;
321 }
322
323 }
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:aop="http://www.springframework.org/schema/aop"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:mvc="http://www.springframework.org/schema/mvc"
6 xmlns:tx="http://www.springframework.org/schema/tx"
7 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8 xsi:schemaLocation="http://www.springframework.org/schema/aop
9 http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
10 http://www.springframework.org/schema/beans
11 http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
12 http://www.springframework.org/schema/context
13 http://www.springframework.org/schema/context/spring-context-4.1.xsd
14 http://www.springframework.org/schema/mvc
15 http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
16 http://www.springframework.org/schema/tx
17 http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
18
19 <mvc:annotation-driven>
20 <mvc:message-converters register-defaults="true">
21 <bean class="org.springframework.http.converter.StringHttpMessageConverter">
22 <constructor-arg value="UTF-8" />
23 </bean>
24 </mvc:message-converters>
25 </mvc:annotation-driven>
26
27 <mvc:default-servlet-handler/>
28 <context:component-scan base-package="com.phxl.*" />
29
30
31
32 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
33 <property name="prefix" value="/WEB-INF/views/" />
34 <property name="suffix" value=".jsp" />
35 </bean>
36
37 <bean id="multipartResolver"
38 class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
39 <!--设置最大上传文件501M-->
40 <property name="maxUploadSize" value="525336576"/>
41
42 <property name="resolveLazily" value="true"/>
43 </bean>
44
45
46
47
48 <!-- 处理JSON数据转换的 -->
49 <bean id="mappingJacksonHttpMessageConverter"
50 class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
51 <property name="supportedMediaTypes">
52 <list>
53 <value>text/html;charset=UTF-8</value>
54 <value>text/xml;charset=UTF-8</value>
55 <value>application/xml;charset=UTF-8</value>
56 </list>
57 </property>
58 </bean>
59
60
61
62
63 <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException -->
64 <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 -->
65 <!-- <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
66 <property name="exceptionMappings">
67 <props>
68 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面
69 <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error</prop>
70 </props>
71 </property>
72 </bean> -->
73 </beans>
...\ No newline at end of file ...\ No newline at end of file
1 <root>
2 <facet id="jst.jaxrs">
3 <node name="libprov">
4 <attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
5 </node>
6 </facet>
7 </root>
1 package com.phxl.modules.goods.dao.invoiceback;
2
3 import java.util.List;
4
5 import com.phxl.modules.goods.entity.invoiceback.SuInvoiceBackDetail;
6
7 public interface SuInvoiceBackDetailDao {
8
9 void batchInsert(List<SuInvoiceBackDetail> backDetails);
10
11 }
1 package com.phxl.modules.goods.entity.ctdept;
2
3 import java.util.Date;
4 /**
5 *
6 * @ClassName: HisCtDept
7 * @Description: 医院科室表实体类
8 * @author hehaihong
9 * @date 2018-08-08 09:28:47
10 *
11 */
12 public class HisCtDept{
13
14 private String hdeptCode; //科室编码
15 private String hdeptName; //科室名称
16 private String helpCode; //助记码
17 private String upperGUID; //上级编号
18 private String isOrderRight; //是否有订货权限
19 private String category; //类别
20 private String director; //主管
21 private String state; //状态
22 private String isLastLevel; //是否末级
23 private Date create_time; //创建时间
24 private Date update_time; //更新时间
25
26 private String id;
27
28
29 public String getId() {
30 return id;
31 }
32 public void setId(String id) {
33 this.id = id;
34 }
35 public String getHdeptCode() {
36 return hdeptCode;
37 }
38 public void setHdeptCode(String hdeptCode) {
39 this.hdeptCode = hdeptCode;
40 }
41 public String getHdeptName() {
42 return hdeptName;
43 }
44 public void setHdeptName(String hdeptName) {
45 this.hdeptName = hdeptName;
46 }
47 public String getHelpCode() {
48 return helpCode;
49 }
50 public void setHelpCode(String helpCode) {
51 this.helpCode = helpCode;
52 }
53 public String getUpperGUID() {
54 return upperGUID;
55 }
56 public void setUpperGUID(String upperGUID) {
57 this.upperGUID = upperGUID;
58 }
59 public String getIsOrderRight() {
60 return isOrderRight;
61 }
62 public void setIsOrderRight(String isOrderRight) {
63 this.isOrderRight = isOrderRight;
64 }
65 public String getCategory() {
66 return category;
67 }
68 public void setCategory(String category) {
69 this.category = category;
70 }
71 public String getDirector() {
72 return director;
73 }
74 public void setDirector(String director) {
75 this.director = director;
76 }
77 public String getState() {
78 return state;
79 }
80 public void setState(String state) {
81 this.state = state;
82 }
83 public String getIsLastLevel() {
84 return isLastLevel;
85 }
86 public void setIsLastLevel(String isLastLevel) {
87 this.isLastLevel = isLastLevel;
88 }
89 public Date getCreate_time() {
90 return create_time;
91 }
92 public void setCreate_time(Date create_time) {
93 this.create_time = create_time;
94 }
95 public Date getUpdate_time() {
96 return update_time;
97 }
98 public void setUpdate_time(Date update_time) {
99 this.update_time = update_time;
100 }
101
102 }
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.medplan.MedPlanDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.medplan.MedPlan">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="med_code" property="medCode" jdbcType="VARCHAR" />
10 <result column="med_name" property="medName" jdbcType="VARCHAR" />
11 <result column="supplier_code" property="supplierCode" jdbcType="VARCHAR" />
12 <result column="supplier_name" property="suppliername" jdbcType="VARCHAR" />
13 <result column="bill_no" property="billNo" jdbcType="VARCHAR" />
14 <result column="bill_type" property="billType" jdbcType="VARCHAR" />
15 <result column="settle_type" property="settleType" jdbcType="VARCHAR" />
16 <result column="med_dept_code" property="medDeptCode" jdbcType="VARCHAR" />
17 <result column="med_dept_name" property="medDeptName" jdbcType="VARCHAR" />
18 <result column="med_store_code" property="medStoreCode" jdbcType="VARCHAR" />
19 <result column="med_store_name" property="medStoreName" jdbcType="VARCHAR" />
20 <result column="first_flag" property="firstFlag" jdbcType="VARCHAR" />
21 <result column="plan_begin_date" property="planBeginDate" jdbcType="TIMESTAMP" />
22 <result column="plan_end_date" property="planEndDate" jdbcType="TIMESTAMP" />
23 <result column="memo" property="memo" jdbcType="VARCHAR" />
24 <result column="operater_name" property="operaterName" jdbcType="VARCHAR" />
25 <result column="input_date" property="inputDate" jdbcType="TIMESTAMP" />
26 <result column="create_time" property="create_time" jdbcType="TIMESTAMP" />
27 <result column="update_time" property="update_time" jdbcType="TIMESTAMP" />
28 </resultMap>
29
30 <!--Base_Column_List -->
31 <sql id="Base_Column_List">id,med_code,med_name,supplier_code,supplier_name,bill_no,bill_type,med_dept_code,med_dept_name,med_store_code,med_store_name,first_flag,plan_begin_date,plan_end_date,memo,operater_name,input_date,create_time,update_time</sql>
32
33 <!--批量插入 -->
34 <insert id="batchInsert" parameterType="list">
35 insert into med_hli_plan (id,med_code,med_name,supplier_code,supplier_name,bill_no,bill_type,med_dept_code,med_dept_name,med_store_code,med_store_name,first_flag,plan_begin_date,plan_end_date,memo,operater_name,input_date,create_time,update_time)
36 values
37 <foreach collection ="list" item="obj" separator =",">
38 <trim prefix=" (" suffix=")" suffixOverrides=",">
39 #{obj.id},
40 #{obj.medCode},
41 #{obj.medName},
42 #{obj.supplierCode},
43 #{obj.suppliername},
44 #{obj.billNo},
45 #{obj.billType},
46 #{obj.medDeptCode},
47 #{obj.medDeptName},
48 #{obj.medStoreCode},
49 #{obj.medStoreName},
50 #{obj.firstFlag},
51 #{obj.planBeginDate},
52 #{obj.planEndDate},
53 #{obj.memo},
54 #{obj.operaterName},
55 #{obj.inputDate},
56 #{obj.create_time},
57 #{obj.update_time}
58 </trim>
59 </foreach>
60 </insert>
61
62 <!-- 新增MedPlan-->
63 <insert id="insert" parameterType="com.phxl.modules.goods.entity.medplan.MedPlan">
64 insert into med_hli_plan (id,med_code,med_name,supplier_code,supplier_name,bill_no,bill_type,settle_type,med_dept_code,med_dept_name,med_store_code,med_store_name,first_flag,plan_begin_date,plan_end_date,memo,operater_name,input_date,create_time,update_time)
65 values (
66 #{id,jdbcType=VARCHAR}
67 ,#{medCode,jdbcType=VARCHAR}
68 ,#{medName,jdbcType=VARCHAR}
69 ,#{supplierCode,jdbcType=VARCHAR}
70 ,#{suppliername,jdbcType=VARCHAR}
71 ,#{billNo,jdbcType=VARCHAR}
72 ,#{billType,jdbcType=VARCHAR}
73 ,#{settleType,jdbcType=VARCHAR}
74 ,#{medDeptCode,jdbcType=VARCHAR}
75 ,#{medDeptName,jdbcType=VARCHAR}
76 ,#{medStoreCode,jdbcType=VARCHAR}
77 ,#{medStoreName,jdbcType=VARCHAR}
78 ,#{firstFlag,jdbcType=VARCHAR}
79 ,#{planBeginDate,jdbcType=TIMESTAMP}
80 ,#{planEndDate,jdbcType=TIMESTAMP}
81 ,#{memo,jdbcType=VARCHAR}
82 ,#{operaterName,jdbcType=VARCHAR}
83 ,#{inputDate,jdbcType=TIMESTAMP}
84 ,#{create_time,jdbcType=TIMESTAMP}
85 ,#{update_time,jdbcType=TIMESTAMP}
86 )
87 </insert>
88
89 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.entity.medplan;
2
3
4 public class MedPlanWithDetail {
5
6 public MedPlan getTrmedPlan() {
7 return trmedPlan;
8 }
9
10 public void setTrmedPlan(MedPlan trmedPlan) {
11 this.trmedPlan = trmedPlan;
12 }
13
14 private MedPlan trmedPlan;
15
16
17 }
1 package com.phxl.modules.goods.entity.invoiceback;
2
3 import java.math.BigDecimal;
4 import java.util.Date;
5
6 import com.alibaba.fastjson.annotation.JSONField;
7
8 public class SuInvoiceBackDetail {
9 @JSONField(name="SettleBillNo")
10 private String settleBillNo; //结算单号
11 @JSONField(name="RowNo")
12 private int rowNo; //行号
13 @JSONField(name="GoodsCode")
14 private String goodsCode; //商品编码
15 public String getSettleBillNo() {
16 return settleBillNo;
17 }
18 public void setSettleBillNo(String settleBillNo) {
19 this.settleBillNo = settleBillNo;
20 }
21 public int getRowNo() {
22 return rowNo;
23 }
24 public void setRowNo(int rowNo) {
25 this.rowNo = rowNo;
26 }
27 public String getGoodsCode() {
28 return goodsCode;
29 }
30 public void setGoodsCode(String goodsCode) {
31 this.goodsCode = goodsCode;
32 }
33 public String getGoodsName() {
34 return goodsName;
35 }
36 public void setGoodsName(String goodsName) {
37 this.goodsName = goodsName;
38 }
39 public String getGoodsSpec() {
40 return goodsSpec;
41 }
42 public void setGoodsSpec(String goodsSpec) {
43 this.goodsSpec = goodsSpec;
44 }
45 public String getProducerName() {
46 return producerName;
47 }
48 public void setProducerName(String producerName) {
49 this.producerName = producerName;
50 }
51 public String getRegistKey() {
52 return registKey;
53 }
54 public void setRegistKey(String registKey) {
55 this.registKey = registKey;
56 }
57 public BigDecimal getSettleQty() {
58 return settleQty;
59 }
60 public void setSettleQty(BigDecimal settleQty) {
61 this.settleQty = settleQty;
62 }
63 public String getUnit() {
64 return unit;
65 }
66 public void setUnit(String unit) {
67 this.unit = unit;
68 }
69 public BigDecimal getSettlePrice() {
70 return settlePrice;
71 }
72 public void setSettlePrice(BigDecimal settlePrice) {
73 this.settlePrice = settlePrice;
74 }
75 public BigDecimal getSettleAmount() {
76 return settleAmount;
77 }
78 public void setSettleAmount(BigDecimal settleAmount) {
79 this.settleAmount = settleAmount;
80 }
81 public String getInvoiceNo() {
82 return invoiceNo;
83 }
84 public void setInvoiceNo(String invoiceNo) {
85 this.invoiceNo = invoiceNo;
86 }
87 public String getInvoiceCode() {
88 return invoiceCode;
89 }
90 public void setInvoiceCode(String invoiceCode) {
91 this.invoiceCode = invoiceCode;
92 }
93 public Date getInvoiceTime() {
94 return invoiceTime;
95 }
96 public void setInvoiceTime(Date invoiceTime) {
97 this.invoiceTime = invoiceTime;
98 }
99 public BigDecimal getInvoiceAmount() {
100 return invoiceAmount;
101 }
102 public void setInvoiceAmount(BigDecimal invoiceAmount) {
103 this.invoiceAmount = invoiceAmount;
104 }
105 public String getId() {
106 return id;
107 }
108 public void setId(String id) {
109 this.id = id;
110 }
111 public String getSupplierCode() {
112 return supplierCode;
113 }
114 public void setSupplierCode(String supplierCode) {
115 this.supplierCode = supplierCode;
116 }
117 public String getSupplierName() {
118 return supplierName;
119 }
120 public void setSupplierName(String supplierName) {
121 this.supplierName = supplierName;
122 }
123 public Date getSettleDate() {
124 return settleDate;
125 }
126 public void setSettleDate(Date settleDate) {
127 this.settleDate = settleDate;
128 }
129 @JSONField(name="GoodsName")
130 private String goodsName; //商品名称
131 @JSONField(name="GoodsSpec")
132 private String goodsSpec; //商品规格
133 @JSONField(name="ProducerName")
134 private String producerName; //生产厂商名称
135 @JSONField(name="RegistKey")
136 private String registKey; //批准文号
137 @JSONField(name="SettleQty")
138 private BigDecimal settleQty; //结算数量
139 @JSONField(name="Unit")
140 private String unit; //包装单位
141 public Date getCreate_time() {
142 return create_time;
143 }
144 public void setCreate_time(Date create_time) {
145 this.create_time = create_time;
146 }
147 public Date getUpdate_time() {
148 return update_time;
149 }
150 public void setUpdate_time(Date update_time) {
151 this.update_time = update_time;
152 }
153 @JSONField(name="SettlePrice")
154 private BigDecimal settlePrice; //结算价格
155 @JSONField(name="SettleAmount")
156 private BigDecimal settleAmount; //结算金额
157 @JSONField(name="CREATE_TIME",format="yyyy-MM-dd HH:mm:ss")
158 private Date create_time; //创建时间
159 @JSONField(name="UPDATE_TIME",format="yyyy-MM-dd HH:mm:ss")
160 private Date update_time; //更新时间
161 @JSONField(name="InvoiceNo")
162 private String invoiceNo; //发票号
163 @JSONField(name="InvoiceCode")
164 private String invoiceCode; //发票代码
165 @JSONField(name="InvoiceTime")
166 private Date invoiceTime; //发票日期
167 @JSONField(name="InvoiceAmount")
168 private BigDecimal invoiceAmount; //发票金额
169
170 private String id;
171 //供应商code
172 @JSONField(name="SupplierCode")
173 private String supplierCode;
174 //供应商名称
175 @JSONField(name="SupplierName")
176 private String supplierName;
177 //结算日期
178 @JSONField(name="SettleDate")
179 private Date settleDate;
180
181
182 }
1 package com.phxl.modules.goods.entity.medinstore;
2
3 import java.util.Date;
4 import java.util.List;
5
6 public class MedInStore {
7 public String getBillNo() {
8 return billNo;
9 }
10 public void setBillNo(String billNo) {
11 this.billNo = billNo;
12 }
13 public String getMedGuid() {
14 return medGuid;
15 }
16 public void setMedGuid(String medGuid) {
17 this.medGuid = medGuid;
18 }
19 public String getMedName() {
20 return medName;
21 }
22 public void setMedName(String medName) {
23 this.medName = medName;
24 }
25 public String getMedDeptGuid() {
26 return medDeptGuid;
27 }
28 public void setMedDeptGuid(String medDeptGuid) {
29 this.medDeptGuid = medDeptGuid;
30 }
31 public String getMedDeptName() {
32 return medDeptName;
33 }
34 public void setMedDeptName(String medDeptName) {
35 this.medDeptName = medDeptName;
36 }
37 public String getMedStoreGuid() {
38 return medStoreGuid;
39 }
40 public void setMedStoreGuid(String medStoreGuid) {
41 this.medStoreGuid = medStoreGuid;
42 }
43 public String getMedStoreName() {
44 return medStoreName;
45 }
46 public void setMedStoreName(String medStoreName) {
47 this.medStoreName = medStoreName;
48 }
49 public String getSupplierGuid() {
50 return supplierGuid;
51 }
52 public void setSupplierGuid(String supplierGuid) {
53 this.supplierGuid = supplierGuid;
54 }
55 public String getSupplierName() {
56 return supplierName;
57 }
58 public void setSupplierName(String supplierName) {
59 this.supplierName = supplierName;
60 }
61 public Date getBillDate() {
62 return billDate;
63 }
64 public void setBillDate(Date billDate) {
65 this.billDate = billDate;
66 }
67 public String getBillType() {
68 return billType;
69 }
70 public void setBillType(String billType) {
71 this.billType = billType;
72 }
73 public String getCountSum() {
74 return countSum;
75 }
76 public void setCountSum(String countSum) {
77 this.countSum = countSum;
78 }
79 public String getDetailSum() {
80 return detailSum;
81 }
82 public void setDetailSum(String detailSum) {
83 this.detailSum = detailSum;
84 }
85 public String getOperaterName() {
86 return operaterName;
87 }
88 public void setOperaterName(String operaterName) {
89 this.operaterName = operaterName;
90 }
91 public Date getInputDate() {
92 return inputDate;
93 }
94 public void setInputDate(Date inputDate) {
95 this.inputDate = inputDate;
96 }
97 public String getMemo() {
98 return memo;
99 }
100 public void setMemo(String memo) {
101 this.memo = memo;
102 }
103 public Date getCreate_time() {
104 return create_time;
105 }
106 public void setCreate_time(Date create_time) {
107 this.create_time = create_time;
108 }
109 public Date getUpdate_time() {
110 return update_time;
111 }
112 public void setUpdate_time(Date update_time) {
113 this.update_time = update_time;
114 }
115 public List<MedInStoreDetail> getBilldetaillist() {
116 return billdetaillist;
117 }
118 public void setBilldetaillist(List<MedInStoreDetail> billdetaillist) {
119 this.billdetaillist = billdetaillist;
120 }
121 private String id;
122
123 public String getId() {
124 return id;
125 }
126 public void setId(String id) {
127 this.id = id;
128 }
129
130 private String billNo;
131 private String medGuid;
132 private String medName;
133 private String medDeptGuid;
134 private String medDeptName;
135 private String medStoreGuid;
136 private String medStoreName;
137 private String supplierGuid;
138 private String supplierName;
139 private Date billDate;
140 private String billType;
141 private String countSum;
142 private String detailSum;
143 private String operaterName;
144 private Date inputDate;
145 private String memo;
146 private Date create_time;
147 private Date update_time;
148 private List<MedInStoreDetail> billdetaillist;
149
150 }
1
2 package com.phxl.common.util;
3
4 import java.util.UUID;
5
6 /**
7 * 生成ID、流水号等标识串常用工具类 <br/>
8 */
9 public class IdentifieUtil {
10
11 /**
12 * 获取GuId
13 * @return String
14 */
15 public static String getGuId(){
16 UUID uuid = UUID.randomUUID();
17 // 得到对象产生的ID
18 String guId = uuid.toString();
19 // 转换为大写
20 guId = guId.toUpperCase();
21 // 替换 -
22 guId = guId.replaceAll("-", "");
23 return guId;
24 }
25
26 private final static char[] DIGITS64 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
27 .toCharArray();
28
29 public static String get26GuId() {
30 UUID u = UUID.randomUUID();
31 // 转换为大写
32 String guId = toIDString(u.getMostSignificantBits()) + toIDString(u.getLeastSignificantBits());
33 guId = guId.toUpperCase();
34 if(guId.contains("-") || guId.contains("_")){
35 guId = get26GuId();
36 }
37 return guId;
38 }
39
40 private static String toIDString(long l) {
41 char[] buf = "0000000000000".toCharArray(); // 限定13位长度
42 int length = 11;
43 long least = 63L; // 0x0000003FL
44 do {
45 buf[--length] = DIGITS64[(int) (l & least)]; // l & least取低6位
46 l >>>= 6;
47 } while (l != 0);
48 return new String(buf);
49 }
50
51 /**
52 * 测试
53 */
54 public static void main(String[] args) {
55 System.out.println(getGuId());
56 }
57 }
58
...\ No newline at end of file ...\ No newline at end of file
1 package com.phxl.modules.goods.service.billsettlement;
2
3 import java.math.BigDecimal;
4 import java.util.ArrayList;
5 import java.util.Date;
6 import java.util.List;
7
8 import org.apache.commons.lang3.StringUtils;
9 import org.apache.poi.ss.formula.functions.Now;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service;
14
15 import com.phxl.common.util.DateUtils;
16 import com.phxl.common.utils.BaseException;
17 import com.phxl.common.utils.IdUtil;
18 import com.phxl.modules.goods.dao.billsettlement.BillSettlementDao;
19 import com.phxl.modules.goods.dao.billsettlement.BillSettlementDetailDao;
20 import com.phxl.modules.goods.entity.billsettlement.BillSettlement;
21 import com.phxl.modules.goods.entity.billsettlement.BillSettlementDetail;
22 import com.phxl.modules.goods.entity.billsettlement.BillSettlementWithDetail;
23
24
25 @Service
26 public class BillSettlementService{
27
28 @Autowired
29 private BillSettlementDao billSettlementDao;
30
31 @Autowired
32 private BillSettlementDetailDao billSettlementDetailDao;
33
34 /**
35 * 日志对象
36 */
37 protected Logger logger = LoggerFactory.getLogger(getClass());
38
39 public boolean batchSave(List<BillSettlementWithDetail> settlementWithDetails) {
40 boolean result = true;
41 try {
42 checkBillSettlement(settlementWithDetails);
43 } catch (Exception e) {
44 throw new BaseException(e.getMessage());
45 }
46 for (BillSettlementWithDetail settlement : settlementWithDetails) {
47 BillSettlement billSettlement = settlement.getTRSettle();
48 List<BillSettlementDetail> details = new ArrayList<BillSettlementDetail>();
49 details = settlement.getTRSettle().getTRSettleDetail();
50 String id = IdUtil.uuid();
51 Integer rowno = 1;
52 billSettlement.setId(id);
53 if(details != null && details.size() != 0){
54 for (BillSettlementDetail billSettlementDetail : details) {
55 billSettlementDetail.setSettleBillNo(billSettlement.getSettleBillNo());
56 billSettlementDetail.setId(id);
57 billSettlementDetail.setRowNo(rowno);
58 billSettlementDetail.setCreate_time(new Date());
59 billSettlementDetail.setUpdate_time(new Date());
60 rowno ++;
61 }
62 billSettlementDao.insert(billSettlement);
63 billSettlementDetailDao.batchInsert(details);
64 }
65 }
66 return result;
67 }
68
69
70 private void checkBillSettlement(List<BillSettlementWithDetail> settlementWithDetails) {
71 if(settlementWithDetails == null || settlementWithDetails.size() == 0){
72 logger.error("无相应结算单据信息");
73 throw new BaseException("无相应结算单据信息");
74 }
75 for (BillSettlementWithDetail billSettlementWithDetail : settlementWithDetails) {
76 BillSettlement billSettlement = billSettlementWithDetail.getTRSettle();
77 String settleBillNo = billSettlement.getSettleBillNo();
78 if (StringUtils.isEmpty(settleBillNo)) {
79 logger.error("结算单结算单号不能为空");
80 throw new BaseException("结算单结算单号不能为空");
81 }
82 Date settleDate = billSettlement.getSettleDate();
83 if (settleDate == null) {
84 logger.error("结算单结算单号:"+settleBillNo+"结算单结算单日期不能为空");
85 throw new BaseException("结算单结算单号:"+settleBillNo+"结算单结算单日期不能为空");
86 }
87 List<BillSettlementDetail> details = billSettlement.getTRSettleDetail();
88 if(details == null || details.size() == 0){
89 logger.error("结算单结算单号:"+settleBillNo+"无相应结算单据明细信息");
90 throw new BaseException("结算单结算单号:"+settleBillNo+"无相应结算单据明细信息");
91 }
92 String useBillNo = billSettlement.getUseBillNo();
93 if (StringUtils.isEmpty(useBillNo)) {
94 logger.error("结算单结算单号:"+settleBillNo+","+"结算单发药单据编号不能为空");
95 throw new BaseException("结算单结算单号:"+settleBillNo+", "+"结算单明细发药单据编号不能为空");
96 }
97 for (BillSettlementDetail billSettlementDetail : details) {
98 String detailSettleBillNo = billSettlementDetail.getSettleBillNo();
99 if (StringUtils.isEmpty(detailSettleBillNo)) {
100 logger.error("结算单结算单号:"+settleBillNo+"结算单明细结算单号不能为空");
101 throw new BaseException("结算单结算单号:"+settleBillNo+"结算单明细结算单号不能为空");
102 }
103 int rowNo = billSettlementDetail.getRowNo();
104 if (rowNo == 0) {
105 logger.error("结算单结算单号:"+settleBillNo+"结算单明细行号不能为空");
106 throw new BaseException("结算单结算单号:"+settleBillNo+"结算单明细行号不能为空");
107 }
108 String purchaser_GoodsCode = billSettlementDetail.getGoodsCode();
109 if (StringUtils.isEmpty(purchaser_GoodsCode)) {
110 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_商品编码不能为空");
111 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_商品编码不能为空");
112 }
113 String purchase_GoodsName = billSettlementDetail.getGoodsName();
114 if (StringUtils.isEmpty(purchase_GoodsName)) {
115 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_商品名称不能为空");
116 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_商品名称不能为空");
117 }
118 BigDecimal purchase_SettleQty = billSettlementDetail.getSettleQty();
119 if (purchase_SettleQty == null) {
120 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_结算数量不能为空");
121 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_结算数量不能为空");
122 }
123 String purchase_Unit = billSettlementDetail.getUnit();
124 if (StringUtils.isEmpty(purchase_Unit)) {
125 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_包装单位不能为空");
126 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细采购方_包装单位不能为空");
127 }
128 Date productionDate = billSettlementDetail.getProductionDate();
129 if (productionDate == null) {
130 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细生产日期前不能为空");
131 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细生产日期前不能为空");
132 }
133 Date expireDate = billSettlementDetail.getExpireDate();
134 if (expireDate == null) {
135 logger.error("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细有效日期不能为空");
136 throw new BaseException("结算单结算单号:"+settleBillNo+",行号:"+rowNo+"结算单明细有效日期不能为空");
137 }
138 }
139 }
140
141 }
142
143
144
145 }
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.phxl.modules.goods.dao.ctdept.HisCtDeptDao">
4
5 <!--BaseResultMap -->
6 <resultMap id="BaseResultMap"
7 type="com.phxl.modules.goods.entity.ctdept.HisCtDept">
8 <id column="id" property="id" jdbcType="BIGINT" />
9 <result column="hdept_code" property="hdeptCode" jdbcType="VARCHAR" />
10 <result column="hdept_name" property="hdeptName" jdbcType="VARCHAR" />
11 <result column="help_code" property="helpCode" jdbcType="VARCHAR" />
12 <result column="upper_GUID" property="upperGUID" jdbcType="VARCHAR" />
13 <result column="is_order_right" property="isOrderRight" jdbcType="VARCHAR" />
14 <result column="category" property="category" jdbcType="VARCHAR" />
15 <result column="director" property="director" jdbcType="VARCHAR" />
16 <result column="state" property="state" jdbcType="VARCHAR" />
17 <result column="is_last_level" property="isLastLevel" jdbcType="VARCHAR" />
18 <result column="create_time" property="create_time" jdbcType="TIMESTAMP" />
19 <result column="update_time" property="update_time" jdbcType="TIMESTAMP" />
20 </resultMap>
21
22 <!--Base_Column_List -->
23 <sql id="Base_Column_List">id,hdept_code,hdept_name,help_code,upper_GUID,is_order_right,category,director,state,is_last_level,create_time,update_time</sql>
24
25 <!-- 批量查询 -->
26 <select id="batchSelect" resultMap="BaseResultMap" parameterType="java.util.HashMap">
27 select
28 <include refid="Base_Column_List" />
29 from med_hli_dept
30 <if test="ctcpCodes != null">
31 where hdept_code in
32 <foreach item="item" index="index" collection="ctcpCodes" open="(" separator="," close=")">
33 #{item}
34 </foreach>
35 </if>
36 </select>
37
38 <!--批量插入 -->
39 <insert id="batchInsert" parameterType="list">
40 insert into med_hli_dept (id,hdept_code,hdept_name,help_code,upper_GUID,is_order_right,category,director,state,is_last_level,create_time,update_time)
41 values
42 <foreach collection ="list" item="obj" separator =",">
43 <trim prefix=" (" suffix=")" suffixOverrides=",">
44 #{obj.id},
45 #{obj.hdeptCode},
46 #{obj.hdeptName},
47 #{obj.helpCode},
48 #{obj.upperGUID},
49 #{obj.isOrderRight},
50 #{obj.category},
51 #{obj.director},
52 #{obj.state},
53 #{obj.isLastLevel},
54 #{obj.create_time},
55 #{obj.update_time}
56 </trim>
57 </foreach>
58 </insert>
59
60 <update id="batchUpdate" parameterType="list">
61 update med_hli_dept
62 <trim prefix="set" suffixOverrides=",">
63 <trim prefix="hdept_code=case" suffix="end,">
64 <foreach collection="list" item="obj" index="index">
65 <if test="obj.hdeptCode != null and obj.hdeptCode != ''">
66 when id = #{obj.id}
67 then #{obj.hdeptCode,jdbcType=VARCHAR}
68 </if>
69 </foreach>
70 </trim>
71 <trim prefix="hdept_name=case" suffix="end,">
72 <foreach collection="list" item="obj" index="index">
73 <if test="obj.hdeptName != null and obj.hdeptName != ''">
74 when id = #{obj.id}
75 then
76 #{obj.hdeptName,jdbcType=VARCHAR}
77 </if>
78 </foreach>
79 </trim>
80 <trim prefix="help_code=case" suffix="end,">
81 <foreach collection="list" item="obj" index="index">
82 <if test="obj.helpCode != null and obj.helpCode != ''">
83 when id = #{obj.id}
84 then #{obj.helpCode,jdbcType=VARCHAR}
85 </if>
86 </foreach>
87 </trim>
88 <trim prefix="upper_GUID=case" suffix="end,">
89 <foreach collection="list" item="obj" index="index">
90 <if test="obj.upperGUID != null and obj.upperGUID != ''">
91 when id = #{obj.id}
92 then #{obj.upperGUID,jdbcType=VARCHAR}
93 </if>
94 </foreach>
95 </trim>
96 <trim prefix="is_order_right=case" suffix="end,">
97 <foreach collection="list" item="obj" index="index">
98 <if test="obj.isOrderRight != null and obj.isOrderRight != ''">
99 when id = #{obj.id}
100 then #{obj.isOrderRight,jdbcType=VARCHAR}
101 </if>
102 </foreach>
103 </trim>
104 <trim prefix="category=case" suffix="end,">
105 <foreach collection="list" item="obj" index="index">
106 <if test="obj.category != null and obj.category != ''">
107 when id = #{obj.id}
108 then #{obj.category,jdbcType=VARCHAR}
109 </if>
110 </foreach>
111 </trim>
112 <trim prefix="director=case" suffix="end,">
113 <foreach collection="list" item="obj" index="index">
114 <if test="obj.director != null and obj.director != ''">
115 when id = #{obj.id}
116 then #{obj.director,jdbcType=VARCHAR}
117 </if>
118 </foreach>
119 </trim>
120 <trim prefix="state=case" suffix="end,">
121 <foreach collection="list" item="obj" index="index">
122 <if test="obj.state != null and obj.state != ''">
123 when id = #{obj.id}
124 then #{obj.state,jdbcType=VARCHAR}
125 </if>
126 </foreach>
127 </trim>
128 <trim prefix="is_last_level=case" suffix="end,">
129 <foreach collection="list" item="obj" index="index">
130 <if test="obj.isLastLevel != null and obj.isLastLevel != ''">
131 when id = #{obj.id}
132 then #{obj.isLastLevel,jdbcType=VARCHAR}
133 </if>
134 </foreach>
135 </trim>
136 <trim prefix="create_time=case" suffix="end,">
137 <foreach collection="list" item="obj" index="index">
138 <if test="obj.create_time != null">
139 when id = #{obj.id}
140 then #{obj.create_time,jdbcType=DATE}
141 </if>
142 </foreach>
143 </trim>
144 <trim prefix="update_time=case" suffix="end,">
145 <foreach collection="list" item="obj" index="index">
146 <if test="obj.update_time != null">
147 when id = #{obj.id}
148 then #{obj.update_time,jdbcType=DATE}
149 </if>
150 </foreach>
151 </trim>
152 </trim>
153 where
154 <foreach collection="list" separator="or" item="obj" index="index">
155 id
156 = #{obj.id}
157 </foreach>
158 </update>
159
160
161 </mapper>
...\ No newline at end of file ...\ No newline at end of file
1 /**
2 * Copyright &copy; 2012-2016 <a href="https://github.com/phxl/medicinal">medicinal</a> All rights reserved.
3 */
4 package com.phxl.common.util;
5
6 import java.io.File;
7 import java.io.IOException;
8 import java.util.HashMap;
9 import java.util.Map;
10
11 import org.apache.commons.lang3.StringUtils;
12 import org.springframework.core.io.DefaultResourceLoader;
13
14
15
16
17 /**
18 * 全局配置类
19 * @author phxl
20 * @version 2014-06-25
21 */
22 public class Global {
23
24 /**
25 * 当前对象实例
26 */
27 private static Global global = new Global();
28
29 /**
30 * 保存全局属性值
31 */
32 private static Map<String, String> map = new HashMap<String,String>();
33
34 /**
35 * 属性文件加载对象
36 */
37 private static PropertiesLoader loader = new PropertiesLoader("config.properties");
38
39 /**
40 * 显示/隐藏
41 */
42 public static final String SHOW = "1";
43 public static final String HIDE = "0";
44
45 /**
46 * 是/否
47 */
48 public static final String YES = "1";
49 public static final String NO = "0";
50
51 /**
52 * 对/错
53 */
54 public static final String TRUE = "true";
55 public static final String FALSE = "false";
56
57 /**
58 * 上传文件基础虚拟路径
59 */
60 public static final String USERFILES_BASE_URL = "/userfiles/";
61
62 /**
63 * 获取当前对象实例
64 */
65 public static Global getInstance() {
66 return global;
67 }
68
69 /**
70 * 获取配置
71 * @see ${fns:getConfig('adminPath')}
72 */
73 public static String getConfig(String key) {
74 String value = map.get(key);
75 if (value == null){
76 value = loader.getProperty(key);
77 map.put(key, value != null ? value : StringUtils.EMPTY);
78 }
79 return value;
80 }
81
82 /**
83 * 获取管理端根路径
84 */
85 public static String getAdminPath() {
86 return getConfig("adminPath");
87 }
88
89 /**
90 * 获取前端根路径
91 */
92 public static String getFrontPath() {
93 return getConfig("frontPath");
94 }
95
96 /**
97 * 获取URL后缀
98 */
99 public static String getUrlSuffix() {
100 return getConfig("urlSuffix");
101 }
102
103 /**
104 * 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
105 */
106 public static Boolean isDemoMode() {
107 String dm = getConfig("demoMode");
108 return "true".equals(dm) || "1".equals(dm);
109 }
110
111 /**
112 * 在修改系统用户和角色时是否同步到Activiti
113 */
114 public static Boolean isSynActivitiIndetity() {
115 String dm = getConfig("activiti.isSynActivitiIndetity");
116 return "true".equals(dm) || "1".equals(dm);
117 }
118
119 /**
120 * 页面获取常量
121 * @see ${fns:getConst('YES')}
122 */
123 public static Object getConst(String field) {
124 try {
125 return Global.class.getField(field).get(null);
126 } catch (Exception e) {
127 // 异常代表无配置,这里什么也不做
128 }
129 return null;
130 }
131
132 /**
133 * 获取上传文件的根目录
134 * @return
135 */
136 public static String getUserfilesBaseDir() {
137 String dir = getConfig("userfiles.basedir");
138 /* if (StringUtils.isBlank(dir)){
139 try {
140 dir = ServletContextFactory.getServletContext().getRealPath("/");
141 } catch (Exception e) {
142 return "";
143 }
144 }
145 if(!dir.endsWith("/")) {
146 dir += "/";
147 }*/
148 // System.out.println("userfiles.basedir: " + dir);
149 return dir;
150 }
151
152 /**
153 * 获取工程路径
154 * @return
155 */
156 public static String getProjectPath(){
157 // 如果配置了工程路径,则直接返回,否则自动获取。
158 String projectPath = Global.getConfig("projectPath");
159 if (StringUtils.isNotBlank(projectPath)){
160 return projectPath;
161 }
162 try {
163 File file = new DefaultResourceLoader().getResource("").getFile();
164 if (file != null){
165 while(true){
166 File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
167 if (f == null || f.exists()){
168 break;
169 }
170 if (file.getParentFile() != null){
171 file = file.getParentFile();
172 }else{
173 break;
174 }
175 }
176 projectPath = file.toString();
177 }
178 } catch (IOException e) {
179 e.printStackTrace();
180 }
181 return projectPath;
182 }
183
184 }
1 /**
2 * Project Name:HSCM File Name:SystemConfig.java Package Name:com.phxl.hscm.common.util Date:2015年6月29日下午5:13:50 Copyright (c) 2015, PHXL All Rights Reserved.
3 */
4
5 package com.phxl.common.util;
6
7 import org.apache.commons.collections.MapUtils;
8 import org.apache.commons.lang.StringUtils;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11 import org.springframework.core.io.Resource;
12 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
13 import org.springframework.stereotype.Component;
14
15 import javax.annotation.PostConstruct;
16 import java.io.IOException;
17 import java.util.Map;
18 import java.util.Properties;
19 import java.util.TreeMap;
20
21
22 /**
23 * 系统配置工具<br/>
24 * 加载系统Properties配置文件至内存中<br/>
25 * @Date 2015年6月29日 下午5:13:50
26 * @author shijingbang
27 * @version 1.0
28 * @since JDK 1.6
29 */
30 @Component
31 public class SystemConfig {
32 private static final Logger logger = LoggerFactory.getLogger(SystemConfig.class);
33 private static final Properties properties = new Properties();
34
35 @PostConstruct
36 public void init() throws IOException {
37 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(this.getClass().getClassLoader());
38 //Resource[] resources = resolver.getResources("classpath:**/spring/*.properties");
39 Resource[] resources = resolver.getResources("classpath:**/*.properties");
40 for (Resource resource : resources) {
41 if (logger.isDebugEnabled()) {
42 logger.debug("加载Properties配置文件{}", resource.getFilename());
43 }
44 properties.load(resource.getInputStream());
45 }
46 if(logger.isDebugEnabled()){
47 Map<String, Object> configuration = MapUtils.typedSortedMap(new TreeMap(properties), String.class, Object.class);
48 //logger.debug("****************系统配置参数表****************\n{}", JSONUtils.toPrettyJsonLoosely(configuration));
49 }
50 }
51
52 /**
53 * 根据key找出value值
54 * @param key 键
55 * @return String
56 * @author shijingbang
57 */
58 public static String getProperty(String key) {
59 return properties.getProperty(key);
60 }
61
62 /**
63 * 根据key找出value值.没有找到则返回第二个参数的值
64 * @param key 键
65 * @param defaultValue 默认值
66 * @return String
67 * @author shijingbang
68 */
69 public static String getProperty(String key, String defaultValue) {
70 return properties.getProperty(key, defaultValue);
71 }
72
73 /**
74 * 获取整数参数值
75 * @param key
76 * @return Integer
77 */
78 public static Integer getIntProperty(String key){
79 String value = properties.getProperty(key);
80 if(StringUtils.isNotBlank(value)){
81 return Integer.parseInt(value);
82 }
83 return null;
84 }
85
86 /**
87 * 获取整数参数值,必需指定默认值
88 * @param key
89 * @param defaultValue
90 * @return int
91 */
92 public static int getIntProperty(String key, Integer defaultValue){
93 //LocalAssert.notNull(defaultValue, "defaultValue,不能为空");
94 String value = properties.getProperty(key);
95 if(StringUtils.isBlank(value)){
96 return defaultValue;
97 }
98 return Integer.parseInt(value);
99 }
100
101 /**
102 * 检查是否包含指定key
103 * @param key
104 * @return boolean
105 * @author shijingbang
106 */
107 public static boolean containsKey(Object key) {
108 return properties.containsKey(key);
109 }
110
111 /**
112 * 检查系统环境是否包含指定值
113 * @param value
114 * @return boolean
115 * @author shijingbang
116 */
117 public static boolean containsValue(Object value) {
118 return properties.containsValue(value);
119 }
120 }
1 /**
2 * Copyright &copy; 2012-2016 <a href="https://github.com/phxl/medicinal">medicinal</a> All rights reserved.
3 */
4 package com.phxl.common.util;
5
6 import java.io.IOException;
7 import java.util.TimeZone;
8
9 import org.apache.commons.lang3.StringEscapeUtils;
10 import org.apache.commons.lang3.StringUtils;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 import com.fasterxml.jackson.annotation.JsonInclude.Include;
15 import com.fasterxml.jackson.core.JsonGenerator;
16 import com.fasterxml.jackson.core.JsonParser.Feature;
17 import com.fasterxml.jackson.core.JsonProcessingException;
18 import com.fasterxml.jackson.databind.DeserializationFeature;
19 import com.fasterxml.jackson.databind.JavaType;
20 import com.fasterxml.jackson.databind.JsonSerializer;
21 import com.fasterxml.jackson.databind.ObjectMapper;
22 import com.fasterxml.jackson.databind.SerializationFeature;
23 import com.fasterxml.jackson.databind.SerializerProvider;
24 import com.fasterxml.jackson.databind.module.SimpleModule;
25 import com.fasterxml.jackson.databind.util.JSONPObject;
26
27 /**
28 * 简单封装Jackson,实现JSON String<->Java Object的Mapper.
29 * 封装不同的输出风格, 使用不同的builder函数创建实例.
30 * @author phxl
31 * @version 2013-11-15
32 */
33 public class JsonMapper extends ObjectMapper {
34
35 private static final long serialVersionUID = 1L;
36
37 private static Logger logger = LoggerFactory.getLogger(JsonMapper.class);
38
39 private static JsonMapper mapper;
40
41 public JsonMapper() {
42 this(Include.NON_EMPTY);
43 }
44
45 public JsonMapper(Include include) {
46
47 // 设置输出时包含属性的风格
48 if (include != null) {
49 this.setSerializationInclusion(include);
50 }
51 // 允许单引号、允许不带引号的字段名称
52 this.enableSimple();
53 // 设置输入时忽略在JSON字符串中存在但Java对象实际没有的属性
54 this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
55 // 空值处理为空串
56 this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>(){
57 @Override
58 public void serialize(Object value, JsonGenerator jgen,
59 SerializerProvider provider) throws IOException,
60 JsonProcessingException {
61 jgen.writeString("");
62 }
63 });
64 // 进行HTML解码。
65 this.registerModule(new SimpleModule().addSerializer(String.class, new JsonSerializer<String>(){
66 @Override
67 public void serialize(String value, JsonGenerator jgen,
68 SerializerProvider provider) throws IOException,
69 JsonProcessingException {
70 jgen.writeString(StringEscapeUtils.unescapeHtml4(value));
71 }
72 }));
73 // 设置时区
74 this.setTimeZone(TimeZone.getDefault());//getTimeZone("GMT+8:00")
75
76 /* try {
77 this.writerWithType(Void.TYPE).writeValueAsBytes(null);
78 } catch (JsonProcessingException e) {
79 e.printStackTrace();
80 }*/
81 }
82
83 /**
84 * 创建只输出非Null且非Empty(如List.isEmpty)的属性到Json字符串的Mapper,建议在外部接口中使用.
85 */
86 public static JsonMapper getInstance() {
87 if (mapper == null){
88 mapper = new JsonMapper().enableSimple();
89 }
90 return mapper;
91 }
92
93 /**
94 * 创建只输出初始值被改变的属性到Json字符串的Mapper, 最节约的存储方式,建议在内部接口中使用。
95 */
96 public static JsonMapper nonDefaultMapper() {
97 if (mapper == null){
98 mapper = new JsonMapper(Include.NON_DEFAULT);
99 }
100 return mapper;
101 }
102
103 /**
104 * Object可以是POJO,也可以是Collection或数组。
105 * 如果对象为Null, 返回"null".
106 * 如果集合为空集合, 返回"[]".
107 */
108 public String toJson(Object object) {
109 try {
110 return this.writeValueAsString(object);
111 } catch (IOException e) {
112 logger.warn("write to json string error:" + object, e);
113 return null;
114 }
115 }
116
117 /**
118 * 反序列化POJO或简单Collection如List<String>.
119 *
120 * 如果JSON字符串为Null或"null"字符串, 返回Null.
121 * 如果JSON字符串为"[]", 返回空集合.
122 *
123 * 如需反序列化复杂Collection如List<MyBean>, 请使用fromJson(String,JavaType)
124 * @see #fromJson(String, JavaType)
125 */
126 public <T> T fromJson(String jsonString, Class<T> clazz) {
127 if (StringUtils.isEmpty(jsonString)) {
128 return null;
129 }
130 try {
131 return this.readValue(jsonString, clazz);
132 } catch (IOException e) {
133 logger.warn("parse json string error:" + jsonString, e);
134 return null;
135 }
136 }
137
138 /**
139 * 反序列化复杂Collection如List<Bean>, 先使用函數createCollectionType构造类型,然后调用本函数.
140 * @see #createCollectionType(Class, Class...)
141 */
142 @SuppressWarnings("unchecked")
143 public <T> T fromJson(String jsonString, JavaType javaType) {
144 if (StringUtils.isEmpty(jsonString)) {
145 return null;
146 }
147 try {
148 return (T) this.readValue(jsonString, javaType);
149 } catch (IOException e) {
150 logger.warn("parse json string error:" + jsonString, e);
151 return null;
152 }
153 }
154
155 /**
156 * 構造泛型的Collection Type如:
157 * ArrayList<MyBean>, 则调用constructCollectionType(ArrayList.class,MyBean.class)
158 * HashMap<String,MyBean>, 则调用(HashMap.class,String.class, MyBean.class)
159 */
160 public JavaType createCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
161 return this.getTypeFactory().constructParametricType(collectionClass, elementClasses);
162 }
163
164 /**
165 * 當JSON裡只含有Bean的部分屬性時,更新一個已存在Bean,只覆蓋該部分的屬性.
166 */
167 @SuppressWarnings("unchecked")
168 public <T> T update(String jsonString, T object) {
169 try {
170 return (T) this.readerForUpdating(object).readValue(jsonString);
171 } catch (JsonProcessingException e) {
172 logger.warn("update json string:" + jsonString + " to object:" + object + " error.", e);
173 } catch (IOException e) {
174 logger.warn("update json string:" + jsonString + " to object:" + object + " error.", e);
175 }
176 return null;
177 }
178
179 /**
180 * 輸出JSONP格式數據.
181 */
182 public String toJsonP(String functionName, Object object) {
183 return toJson(new JSONPObject(functionName, object));
184 }
185
186 /**
187 * 設定是否使用Enum的toString函數來讀寫Enum,
188 * 為False時時使用Enum的name()函數來讀寫Enum, 默認為False.
189 * 注意本函數一定要在Mapper創建後, 所有的讀寫動作之前調用.
190 */
191 public JsonMapper enableEnumUseToString() {
192 this.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
193 this.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
194 return this;
195 }
196
197 /**
198 * 允许单引号
199 * 允许不带引号的字段名称
200 */
201 public JsonMapper enableSimple() {
202 this.configure(Feature.ALLOW_SINGLE_QUOTES, true);
203 this.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
204 return this;
205 }
206
207 /**
208 * 取出Mapper做进一步的设置或使用其他序列化API.
209 */
210 public ObjectMapper getMapper() {
211 return this;
212 }
213
214 /**
215 * 对象转换为JSON字符串
216 * @param object
217 * @return
218 */
219 public static String toJsonString(Object object){
220 return JsonMapper.getInstance().toJson(object);
221 }
222
223 /**
224 * JSON字符串转换为对象
225 * @param jsonString
226 * @param clazz
227 * @return
228 */
229 public static Object fromJsonString(String jsonString, Class<?> clazz){
230 return JsonMapper.getInstance().fromJson(jsonString, clazz);
231 }
232
233
234
235
236
237 /**
238 * 测试
239 */
240 public static void main(String[] args) {
241 /*List<Map<String, Object>> list = Lists.newArrayList();
242 Map<String, Object> map = Maps.newHashMap();
243 map.put("id", 1);
244 map.put("pId", -1);
245 map.put("name", "根节点");
246 list.add(map);
247 map = Maps.newHashMap();
248 map.put("id", 2);
249 map.put("pId", 1);
250 map.put("name", "你好");
251 map.put("open", true);
252 list.add(map);
253 String json = JsonMapper.getInstance().toJson(list);
254 System.out.println(json);*/
255
256 }
257
258 }
1 package com.phxl.common.constants;
2
3 public class HisRequestConstant {
4
5 public static final String APPLICATION_XML = "application/xml";
6
7 public static final String TEXT_XML = "text/xml";
8
9
10 }
1 package com.phxl.modules.goods.entity.billback;
2
3 import com.alibaba.fastjson.annotation.JSONField;
4
5 /**
6 * @ClassName BillBackWithDetail
7 * @Description TODO
8 * @Author json
9 * @Date 2018/11/1 19:22
10 **/
11 public class BillBackWithDetail {
12
13 @JSONField(name = "TRMedRPI")
14 private BillBack TRMedRPI;
15
16 public BillBack getTRMedRPI() {
17 return TRMedRPI;
18 }
19
20 public void setTRMedRPI(BillBack TRMedRPI) {
21 this.TRMedRPI = TRMedRPI;
22 }
23 }
1 package com.phxl.modules.goods.entity.invoiceback;
2
3 public class SuInvoiceBackWithDetail {
4 private SuInvoiceBack bill;
5
6 public SuInvoiceBack getBill() {
7 return bill;
8 }
9
10 public void setBill(SuInvoiceBack bill) {
11 this.bill = bill;
12 }
13 }
1 package com.phxl.modules.goods.entity.medstock;
2
3 public class MedStockList {
4 public MedStock getData() {
5 return data;
6 }
7
8 public void setData(MedStock data) {
9 this.data = data;
10 }
11
12 private MedStock data;
13 }
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!